{"jsonapi":{"version":"1.0","meta":{"links":{"self":{"href":"http:\/\/jsonapi.org\/format\/1.0\/"}}}},"data":[{"type":"node--project_module","id":"a67da413-f5e7-450a-8425-27c6c8add27b","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/a67da413-f5e7-450a-8425-27c6c8add27b?resourceVersion=id%3A20013210"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/a67da413-f5e7-450a-8425-27c6c8add27b?resourceVersion=rel%3Aworking-copy"}},"attributes":{"drupal_internal__nid":1088628,"status":true,"title":"Mail System","created":"2011-03-11T04:33:06+00:00","changed":"2026-04-07T05:20:02+00:00","moderation_state":null,"body":{"value":"Provides an Administrative UI and Developers API for managing the used mail backend\/plugin.\r\n\r\nThe module is ready to be used in Drupal 8, there are no known issues.\r\n\r\nAllows to use different backends for formatting and sending e-mails by default, per module and per mail key. Additionally, a theme can be configured that is used for sent mails. In Drupal 7, that must be enabled for each template, in Drupal 8, it works reliably for any template being rendered while building and sending e-mails.\r\n\r\n\u003Ch3 id=\u0022administrative-ui\u0022\u003EAdministrative UI\u003C\/h3\u003E\r\n\u003Cp\u003EThe administrative interface is at \u003Ccode\u003Eadmin\/config\/system\/mailsystem\u003C\/code\u003E (Drupal 8) or\u003Ccode\u003Eadmin\/settings\/mailsystem\u003C\/code\u003E (Drupal 7).\r\n\r\n\u003Ch3 id=\u0022used-by\u0022\u003EUsed by:\u003C\/h3\u003E\r\n\r\nAny mail backend can be used and configured with this module. In Drupal 8, this has specifically been tested with \u003Ca href=\u0022https:\/\/drupal.org\/project\/swiftmailer\u0022\u003ESwiftmailer\u003C\/a\u003E.\r\n\r\nFor Drupal 7, the following modules are commonly used to send HTML mails:\r\n\u003Cul\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022http:\/\/drupal.org\/project\/htmlmail\u0022\u003EHTML Mail 7.x\u003C\/a\u003E\u003C\/li\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022http:\/\/drupal.org\/project\/mimemail\u0022\u003EMime Mail 7.x-1.x-dev\u003C\/a\u003E\u003C\/li\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022http:\/\/drupal.org\/project\/postmark\u0022\u003EPostmark 7.x-1.x\u003C\/a\u003E\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\u003Ch3 id=\u0022developers-api\u0022\u003EDevelopers API\u003C\/h3\u003E\r\n\r\nSee \u003Ca href=\u0022https:\/\/www.drupal.org\/node\/2733103\u0022\u003Ethe documentation page\u003C\/a\u003E\r\n\r\n\u003Ch3 id=\u0022references\u0022\u003EReferences Drupal 7\u003C\/h3\u003E\r\n\u003Cdl\u003E\r\n  \u003Cdt\u003E\u003Cstrong\u003E\u003Ca href=\u0022http:\/\/api.drupal.org\/api\/drupal\/includes--mail.inc\/function\/drupal_mail_system\/7\u0022\u003E\u003Ccode\u003Edrupal_mail_system()\u003C\/code\u003E API documentation\u003C\/a\u003E\u003C\/strong\u003E:\u003C\/dt\u003E\r\n  \u003Cdd\u003E\r\n    \u003Cp\u003E\u003Ca href=\u0022http:\/\/api.drupal.org\/api\/drupal\/includes--mail.inc\/function\/drupal_mail_system\/7\u0022\u003Eapi.drupal.org\/api\/drupal\/includes--mail.inc\/function\/drupal_mail_system\/7\u003C\/a\u003E\u003C\/p\u003E\r\n  \u003C\/dd\u003E\r\n  \u003Cdt\u003E\u003Cstrong\u003E\u003Ca href=\u0022http:\/\/api.drupal.org\/api\/drupal\/includes--mail.inc\/interface\/MailSystemInterface\/7\u0022\u003E\u003Ccode\u003EMailSystemInterface\u003C\/code\u003E API documentation\u003C\/a\u003E\u003C\/strong\u003E:\u003C\/dt\u003E\r\n  \u003Cdd\u003E\r\n    \u003Cp\u003E\u003Ca href=\u0022http:\/\/api.drupal.org\/api\/drupal\/includes--mail.inc\/interface\/MailSystemInterface\/7\u0022\u003Ehttp:\/\/api.drupal.org\/api\/drupal\/includes--mail.inc\/interface\/MailSystemInterface\/7\u003C\/a\u003E\u003C\/p\u003E\r\n  \u003C\/dd\u003E\r\n  \u003Cdt\u003E\u003Cstrong\u003E\u003Ca href=\u0022http:\/\/drupal.org\/node\/900794\u0022\u003ECreating HTML formatted mails in Drupal 7\u003C\/a\u003E\u003C\/strong\u003E:\u003C\/dt\u003E\r\n  \u003Cdd\u003E\r\n    \u003Cp\u003E\u003Ca href=\u0022http:\/\/drupal.org\/node\/900794\u0022\u003Edrupal.org\/node\/900794\u003C\/a\u003E\u003C\/p\u003E\r\n  \u003C\/dd\u003E\r\n\u003C\/dl\u003E","format":"1","processed":"\u003Cdiv class=\u0022toc-filter\u0022\u003E\u003Cp\u003EProvides an Administrative UI and Developers API for managing the used mail backend\/plugin.\u003C\/p\u003E\n\u003Cp\u003EThe module is ready to be used in Drupal 8, there are no known issues.\u003C\/p\u003E\n\u003Cp\u003EAllows to use different backends for formatting and sending e-mails by default, per module and per mail key. Additionally, a theme can be configured that is used for sent mails. In Drupal 7, that must be enabled for each template, in Drupal 8, it works reliably for any template being rendered while building and sending e-mails.\u003C\/p\u003E\n\u003Ch3 id=\u0022administrative-ui-01\u0022\u003EAdministrative UI\u003C\/h3\u003E\n\u003Cp\u003EThe administrative interface is at \u003Ccode\u003Eadmin\/config\/system\/mailsystem\u003C\/code\u003E (Drupal 8) or\u003Ccode\u003Eadmin\/settings\/mailsystem\u003C\/code\u003E (Drupal 7).\u003C\/p\u003E\n\u003Ch3 id=\u0022used-by-01\u0022\u003EUsed by:\u003C\/h3\u003E\n\u003Cp\u003EAny mail backend can be used and configured with this module. In Drupal 8, this has specifically been tested with \u003Ca href=\u0022https:\/\/drupal.org\/project\/swiftmailer\u0022 rel=\u0022nofollow\u0022\u003ESwiftmailer\u003C\/a\u003E.\u003C\/p\u003E\n\u003Cp\u003EFor Drupal 7, the following modules are commonly used to send HTML mails:\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\u0022http:\/\/drupal.org\/project\/htmlmail\u0022 rel=\u0022nofollow\u0022\u003EHTML Mail 7.x\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022http:\/\/drupal.org\/project\/mimemail\u0022 rel=\u0022nofollow\u0022\u003EMime Mail 7.x-1.x-dev\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022http:\/\/drupal.org\/project\/postmark\u0022 rel=\u0022nofollow\u0022\u003EPostmark 7.x-1.x\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Ch3 id=\u0022developers-api-01\u0022\u003EDevelopers API\u003C\/h3\u003E\n\u003Cp\u003ESee \u003Ca href=\u0022https:\/\/www.drupal.org\/node\/2733103\u0022 rel=\u0022nofollow\u0022\u003Ethe documentation page\u003C\/a\u003E\u003C\/p\u003E\n\u003Ch3 id=\u0022references-01\u0022\u003EReferences Drupal 7\u003C\/h3\u003E\n\u003Cdl\u003E\n\u003Cdt\u003E\u003Cstrong\u003E\u003Ca href=\u0022http:\/\/api.drupal.org\/api\/drupal\/includes--mail.inc\/function\/drupal_mail_system\/7\u0022 rel=\u0022nofollow\u0022\u003E\u003Ccode\u003Edrupal_mail_system()\u003C\/code\u003E API documentation\u003C\/a\u003E\u003C\/strong\u003E:\u003C\/dt\u003E\n\u003Cdd\u003E\n\u003Cp\u003E\u003Ca href=\u0022http:\/\/api.drupal.org\/api\/drupal\/includes--mail.inc\/function\/drupal_mail_system\/7\u0022 rel=\u0022nofollow\u0022\u003Eapi.drupal.org\/api\/drupal\/includes--mail.inc\/function\/drupal_mail_system\/7\u003C\/a\u003E\u003C\/p\u003E\n\u003C\/dd\u003E\n\u003Cdt\u003E\u003Cstrong\u003E\u003Ca href=\u0022http:\/\/api.drupal.org\/api\/drupal\/includes--mail.inc\/interface\/MailSystemInterface\/7\u0022 rel=\u0022nofollow\u0022\u003E\u003Ccode\u003EMailSystemInterface\u003C\/code\u003E API documentation\u003C\/a\u003E\u003C\/strong\u003E:\u003C\/dt\u003E\n\u003Cdd\u003E\n\u003Cp\u003E\u003Ca href=\u0022http:\/\/api.drupal.org\/api\/drupal\/includes--mail.inc\/interface\/MailSystemInterface\/7\u0022 rel=\u0022nofollow\u0022\u003Ehttp:\/\/api.drupal.org\/api\/drupal\/includes--mail.inc\/interface\/MailSystemInterface\/7\u003C\/a\u003E\u003C\/p\u003E\n\u003C\/dd\u003E\n\u003Cdt\u003E\u003Cstrong\u003E\u003Ca href=\u0022http:\/\/drupal.org\/node\/900794\u0022 rel=\u0022nofollow\u0022\u003ECreating HTML formatted mails in Drupal 7\u003C\/a\u003E\u003C\/strong\u003E:\u003C\/dt\u003E\n\u003Cdd\u003E\n\u003Cp\u003E\u003Ca href=\u0022http:\/\/drupal.org\/node\/900794\u0022 rel=\u0022nofollow\u0022\u003Edrupal.org\/node\/900794\u003C\/a\u003E\u003C\/p\u003E\n\u003C\/dd\u003E\n\u003C\/dl\u003E\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\u003C\/div\u003E","summary":""},"field_active_installs":"{\u00228.x-4.x\u0022:103891}","field_active_installs_total":103891,"field_composer_namespace":"drupal\/mailsystem","field_core_semver_maximum":12000000,"field_core_semver_minimum":8000000,"field_issue_summary_template":null,"field_logo_url":{"uri":"https:\/\/git.drupalcode.org\/project\/mailsystem\/-\/avatar","title":null,"options":[]},"field_project_has_releases":true,"field_project_machine_name":"mailsystem","field_security_advisory_coverage":"covered"},"relationships":{"uid":{"data":{"type":"user--user","id":"b1ae8858-7741-422f-a770-06e48e776054","meta":{"drupal_internal__target_id":36148}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/a67da413-f5e7-450a-8425-27c6c8add27b\/uid?resourceVersion=id%3A20013210"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/a67da413-f5e7-450a-8425-27c6c8add27b\/relationships\/uid?resourceVersion=id%3A20013210"}}},"field_development_status":{"data":{"type":"taxonomy_term--development_status","id":"e767288c-9800-4fb4-aeb8-8c311533838a","meta":{"drupal_internal__target_id":27274}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/a67da413-f5e7-450a-8425-27c6c8add27b\/field_development_status?resourceVersion=id%3A20013210"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/a67da413-f5e7-450a-8425-27c6c8add27b\/relationships\/field_development_status?resourceVersion=id%3A20013210"}}},"field_maintenance_status":{"data":{"type":"taxonomy_term--maintenance_status","id":"089406ad-304d-4737-80d1-2f08527ae49e","meta":{"drupal_internal__target_id":27271}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/a67da413-f5e7-450a-8425-27c6c8add27b\/field_maintenance_status?resourceVersion=id%3A20013210"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/a67da413-f5e7-450a-8425-27c6c8add27b\/relationships\/field_maintenance_status?resourceVersion=id%3A20013210"}}},"field_module_categories":{"data":[{"type":"taxonomy_term--module_categories","id":"3322058a-a158-4806-ac5b-9bcabc95edac","meta":{"drupal_internal__target_id":185}}],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/a67da413-f5e7-450a-8425-27c6c8add27b\/field_module_categories?resourceVersion=id%3A20013210"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/a67da413-f5e7-450a-8425-27c6c8add27b\/relationships\/field_module_categories?resourceVersion=id%3A20013210"}}},"field_project_images":{"data":[{"type":"file--file","id":"b7f3d125-15c2-48b1-8cf7-75ef573abf7a","meta":{"alt":"Admin UI","title":null,"width":509,"height":819,"drupal_internal__target_id":3624}}],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/a67da413-f5e7-450a-8425-27c6c8add27b\/field_project_images?resourceVersion=id%3A20013210"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/a67da413-f5e7-450a-8425-27c6c8add27b\/relationships\/field_project_images?resourceVersion=id%3A20013210"}}}}},{"type":"node--project_module","id":"3cd7d73b-bd02-425d-bf86-81802d12ffe5","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3cd7d73b-bd02-425d-bf86-81802d12ffe5?resourceVersion=id%3A20048217"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3cd7d73b-bd02-425d-bf86-81802d12ffe5?resourceVersion=rel%3Aworking-copy"}},"attributes":{"drupal_internal__nid":3066588,"status":true,"title":"jQuery UI Slider","created":"2019-07-09T03:13:46+00:00","changed":"2026-04-07T05:20:02+00:00","moderation_state":null,"body":{"value":"\u003Cp\u003EDrupal 8 includes jQuery UI in core, however it is no longer actively maintained and has been marked deprecated. This module provides the jQuery UI Slider library for any themes and modules that require it.\u003C\/p\u003E\r\n\r\n\u003Cul\u003E\r\n    \u003Cli\u003EjQuery UI \u003Ca href=\u0022https:\/\/jqueryui.com\/slider\/\u0022\u003ESlider documentation\u003C\/a\u003E\u003C\/li\u003E\r\n    \u003Cli\u003EjQuery UI \u003Ca href=\u0022https:\/\/api.jqueryui.com\/slider\/\u0022\u003ESlider API documentation\u003C\/a\u003E\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003ECaution\u003C\/strong\u003E: jQuery UI was deprecated from core because it is no longer actively maintained, and has been marked \u201cEnd of Life\u201d by the OpenJS Foundation. It is not recommended to depend on jQuery UI in your own code, and instead to select a replacement solution as soon as possible.\u003C\/p\u003E\r\n\r\n\u003Ch2\u003EInstructions\u003C\/h2\u003E\r\n\u003Col\u003E\r\n    \u003Cli\u003EInstall this module and the jQuery UI module.\u003C\/li\u003E\r\n    \u003Cli\u003EChange any references in your theme or module from \u003Ccode class=\u0022language-php\u0022\u003Ecore\/jquery.ui.slider\u003C\/code\u003E to \u003Ccode class=\u0022language-php\u0022\u003Ejquery_ui_slider\/slider\u003C\/code\u003E\u003C\/li\u003E\r\n\u003C\/ol\u003E\r\n\r\n\u003Ch3\u003ERequirements\u003C\/h3\u003E\r\n\u003Cul\u003E\r\n    \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui\u0022\u003EjQuery UI\u003C\/a\u003E\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\u003Ch3\u003ERelated modules\u003C\/h3\u003E\r\n\u003Cul\u003E\r\n        \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_accordion\u0022\u003EjQuery UI Accordion\u003C\/a\u003E\u003C\/li\u003E\r\n    \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_autocomplete\u0022\u003EjQuery UI Autocomplete\u003C\/a\u003E\u003C\/li\u003E\r\n    \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_button\u0022\u003EjQuery UI Button\u003C\/a\u003E\u003C\/li\u003E\r\n    \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_checkboxradio\u0022\u003EjQuery UI Checkboxradio\u003C\/a\u003E\u003C\/li\u003E\r\n    \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_controlgroup\u0022\u003EjQuery UI Controlgroup\u003C\/a\u003E\u003C\/li\u003E\r\n    \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_datepicker\u0022\u003EjQuery UI Datepicker\u003C\/a\u003E\u003C\/li\u003E\r\n    \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_dialog\u003EjQuery UI Dialog\u003C\/a\u003E\u003C\/li\u003E\r\n    \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_draggable\u0022\u003EjQuery UI Draggable\u003C\/a\u003E\u003C\/li\u003E\r\n    \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_droppable\u0022\u003EjQuery UI Droppable\u003C\/a\u003E\u003C\/li\u003E\r\n    \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_effects\u0022\u003EjQuery UI Effects\u003C\/a\u003E\u003C\/li\u003E\r\n    \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_menu\u0022\u003EjQuery UI Menu\u003C\/a\u003E\u003C\/li\u003E\r\n    \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_progressbar\u0022\u003EjQuery UI Progressbar\u003C\/a\u003E\u003C\/li\u003E\r\n    \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_resizable\u0022\u003EjQuery UI Resizable\u003C\/a\u003E\u003C\/li\u003E\r\n    \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_selectable\u0022\u003EjQuery UI Selectable\u003C\/a\u003E\u003C\/li\u003E\r\n    \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_selectmenu\u0022\u003EjQuery UI Selectmenu\u003C\/a\u003E\u003C\/li\u003E\r\n    \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_spinner\u0022\u003EjQuery UI Spinner\u003C\/a\u003E\u003C\/li\u003E\r\n    \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_tooltip\u0022\u003EjQuery UI Tooltip\u003C\/a\u003E\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n","format":"1","processed":"\u003Cp\u003EDrupal 8 includes jQuery UI in core, however it is no longer actively maintained and has been marked deprecated. This module provides the jQuery UI Slider library for any themes and modules that require it.\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003EjQuery UI \u003Ca href=\u0022https:\/\/jqueryui.com\/slider\/\u0022 rel=\u0022nofollow\u0022\u003ESlider documentation\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003EjQuery UI \u003Ca href=\u0022https:\/\/api.jqueryui.com\/slider\/\u0022 rel=\u0022nofollow\u0022\u003ESlider API documentation\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Cp\u003E\u003Cstrong\u003ECaution\u003C\/strong\u003E: jQuery UI was deprecated from core because it is no longer actively maintained, and has been marked \u201cEnd of Life\u201d by the OpenJS Foundation. It is not recommended to depend on jQuery UI in your own code, and instead to select a replacement solution as soon as possible.\u003C\/p\u003E\n\u003Ch2\u003EInstructions\u003C\/h2\u003E\n\u003Col\u003E\n\u003Cli\u003EInstall this module and the jQuery UI module.\u003C\/li\u003E\n\u003Cli\u003EChange any references in your theme or module from \u003Ccode class=\u0022language-php\u0022\u003Ecore\/jquery.ui.slider\u003C\/code\u003E to \u003Ccode class=\u0022language-php\u0022\u003Ejquery_ui_slider\/slider\u003C\/code\u003E\u003C\/li\u003E\n\u003C\/ol\u003E\n\u003Ch3\u003ERequirements\u003C\/h3\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Ch3\u003ERelated modules\u003C\/h3\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_accordion\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Accordion\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_autocomplete\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Autocomplete\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_button\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Button\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_checkboxradio\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Checkboxradio\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_controlgroup\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Controlgroup\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_datepicker\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Datepicker\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca rel=\u0022nofollow\u0022\u003EjQuery UI Dialog\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_draggable\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Draggable\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_droppable\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Droppable\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_effects\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Effects\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_menu\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Menu\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_progressbar\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Progressbar\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_resizable\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Resizable\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_selectable\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Selectable\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_selectmenu\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Selectmenu\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_spinner\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Spinner\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_tooltip\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Tooltip\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E","summary":""},"field_active_installs":"{\u00228.x-1.x\u0022:12560,\u00222.x\u0022:13,\u00222.0.x\u0022:10990,\u00222.1.x\u0022:75558}","field_active_installs_total":99121,"field_composer_namespace":"drupal\/jquery_ui_slider","field_core_semver_maximum":12000000,"field_core_semver_minimum":8000000,"field_issue_summary_template":null,"field_logo_url":null,"field_project_has_releases":true,"field_project_machine_name":"jquery_ui_slider","field_security_advisory_coverage":"covered"},"relationships":{"uid":{"data":{"type":"user--user","id":"3c27d7fe-04e9-4213-a8d1-5d1c5b60cfa0","meta":{"drupal_internal__target_id":1448368}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3cd7d73b-bd02-425d-bf86-81802d12ffe5\/uid?resourceVersion=id%3A20048217"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3cd7d73b-bd02-425d-bf86-81802d12ffe5\/relationships\/uid?resourceVersion=id%3A20048217"}}},"field_development_status":{"data":{"type":"taxonomy_term--development_status","id":"219c1cf2-dd7f-474b-9dd5-a26643fbc699","meta":{"drupal_internal__target_id":27276}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3cd7d73b-bd02-425d-bf86-81802d12ffe5\/field_development_status?resourceVersion=id%3A20048217"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3cd7d73b-bd02-425d-bf86-81802d12ffe5\/relationships\/field_development_status?resourceVersion=id%3A20048217"}}},"field_maintenance_status":{"data":{"type":"taxonomy_term--maintenance_status","id":"da38f99c-5b5a-41f6-99ce-7a78cc0e8396","meta":{"drupal_internal__target_id":27270}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3cd7d73b-bd02-425d-bf86-81802d12ffe5\/field_maintenance_status?resourceVersion=id%3A20048217"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3cd7d73b-bd02-425d-bf86-81802d12ffe5\/relationships\/field_maintenance_status?resourceVersion=id%3A20048217"}}},"field_module_categories":{"data":[{"type":"taxonomy_term--module_categories","id":"086cebcf-200f-4c34-886e-f9921919b292","meta":{"drupal_internal__target_id":189}}],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3cd7d73b-bd02-425d-bf86-81802d12ffe5\/field_module_categories?resourceVersion=id%3A20048217"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3cd7d73b-bd02-425d-bf86-81802d12ffe5\/relationships\/field_module_categories?resourceVersion=id%3A20048217"}}},"field_project_images":{"data":[{"type":"file--file","id":"5e5e9770-c50a-438a-98ed-c25858ce0611","meta":{"alt":"jquery ui logo surrounded by slider controls","title":null,"width":512,"height":512,"drupal_internal__target_id":34420}}],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3cd7d73b-bd02-425d-bf86-81802d12ffe5\/field_project_images?resourceVersion=id%3A20048217"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3cd7d73b-bd02-425d-bf86-81802d12ffe5\/relationships\/field_project_images?resourceVersion=id%3A20048217"}}}}},{"type":"node--project_module","id":"44330ea8-1bb6-468a-b733-fd040d6efbdd","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/44330ea8-1bb6-468a-b733-fd040d6efbdd?resourceVersion=id%3A20005032"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/44330ea8-1bb6-468a-b733-fd040d6efbdd?resourceVersion=rel%3Aworking-copy"}},"attributes":{"drupal_internal__nid":3236,"status":true,"title":"Devel","created":"2003-09-28T16:44:31+00:00","changed":"2026-04-07T05:20:02+00:00","moderation_state":null,"body":{"value":"\u003Cdiv class=\u0022markdown-to-html\u0022\u003E\r\n\u003Ch4\u003E\r\n\u003Ca href=\u0022#introduction\u0022 aria-hidden=\u0022true\u0022 class=\u0022anchor\u0022 id=\u0022user-content-introduction\u0022\u003E\u003C\/a\u003EIntroduction\u003C\/h4\u003E\r\n\u003Cp\u003EDevel module contains helper functions and pages for Drupal developers and inquisitive admins:\u003C\/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003EA block and toolbar for quickly accessing devel pages\u003C\/li\u003E\r\n\u003Cli\u003EA menu tab added to entities to give access to internal entity properties\u003C\/li\u003E\r\n\u003Cli\u003EUrls created to view the internal entity properties even when there is no menu tab, for example \/devel\/paragraph\/n\u003C\/li\u003E\r\n\u003Cli\u003EDebug functions for inspecting a variable such as \u003Ccode\u003Edpm($variable)\u003C\/code\u003E\r\n\u003C\/li\u003E\r\n\u003Cli\u003EDebug a SQL query \u003Ccode\u003Edpq($query\u003C\/code\u003E or print a backtrace \u003Ccode\u003Eddebug_backtrace()\u003C\/code\u003E\r\n\u003C\/li\u003E\r\n\u003Cli\u003EA block for masquerading as other users (useful for testing)\u003C\/li\u003E\r\n\u003Cli\u003EA mail-system class which redirects outbound email to files\u003C\/li\u003E\r\n\u003Cli\u003EDrush commands such as \u003Ccode\u003Efn-hook\u003C\/code\u003E, \u003Ccode\u003Efn-event\u003C\/code\u003E, \u003Ccode\u003Etoken\u003C\/code\u003E, \u003Ccode\u003Euuid\u003C\/code\u003E, and \u003Ccode\u003Edevel-services\u003C\/code\u003E\r\n\u003C\/li\u003E\r\n\u003Cli\u003E\r\n\u003Cem\u003EDevel Generate\u003C\/em\u003E. Bulk creates nodes, users, comment, taxonomy, media, menus, block content for development. Has Drush integration.\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\u003Cp\u003EThis module is safe to use on a production site. Just be sure to only grant \u003Cem\u003Eaccess development information\u003C\/em\u003E permission to developers.\u003C\/p\u003E\r\n\u003Ch4\u003E\r\n\u003Ca href=\u0022#collaboration\u0022 aria-hidden=\u0022true\u0022 class=\u0022anchor\u0022 id=\u0022user-content-collaboration\u0022\u003E\u003C\/a\u003ECollaboration\u003C\/h4\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\r\n\u003Ca href=\u0022https:\/\/gitlab.com\/drupalspoons\/devel\u0022\u003Ehttps:\/\/gitlab.com\/drupalspoons\/devel\u003C\/a\u003E is our workplace for code, MRs, and CI.\u003C\/li\u003E\r\n\u003Cli\u003ECreate a personal fork in order to make an MR.\u003C\/li\u003E\r\n\u003Cli\u003EWe plan to move bck to drupal.org once it uses Gitlab for issues.\u003C\/li\u003E\r\n\u003Cli\u003EWe auto-push back to git.drupalcode.org in order to keep \u003Ca href=\u0022https:\/\/www.drupal.org\/security\u0022\u003ESecurity Team\u003C\/a\u003E coverage and packages.drupal.org integration.\u003C\/li\u003E\r\n\u003Cli\u003EChat with us at \u003Ca href=\u0022https:\/\/drupal.slack.com\/archives\/C012WAW1MH6\u0022\u003E#devel\u003C\/a\u003E on Drupal Slack.\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\u003Ch4\u003E\r\n\u003Ca href=\u0022#local-development\u0022 aria-hidden=\u0022true\u0022 class=\u0022anchor\u0022 id=\u0022user-content-local-development\u0022\u003E\u003C\/a\u003ELocal Development\u003C\/h4\u003E\r\n\u003Cp\u003EDDEV is configured with \u003Ca href=\u0022https:\/\/github.com\/ddev\/ddev-drupal-contrib\u0022\u003Ehttps:\/\/github.com\/ddev\/ddev-drupal-contrib\u003C\/a\u003E for for easy local development, test running, etc.\u003C\/p\u003E\r\n\u003Ch4\u003E\r\n\u003Ca href=\u0022#version-compatibility\u0022 aria-hidden=\u0022true\u0022 class=\u0022anchor\u0022 id=\u0022user-content-version-compatibility\u0022\u003E\u003C\/a\u003EVersion Compatibility\u003C\/h4\u003E\r\n\u003Ctable\u003E\r\n\u003Cthead\u003E\u003Ctr\u003E\r\n\u003Cth\u003EDevel version\u003C\/th\u003E\r\n\u003Cth\u003EDrupal core\u003C\/th\u003E\r\n\u003Cth\u003EPHP\u003C\/th\u003E\r\n\u003Cth\u003EDrush\u003C\/th\u003E\r\n\u003C\/tr\u003E\u003C\/thead\u003E\r\n\u003Ctbody\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd\u003E5.5+\u003C\/td\u003E\r\n\u003Ctd\u003E10.4+\u003C\/td\u003E\r\n\u003Ctd\u003E8.3+\u003C\/td\u003E\r\n\u003Ctd\u003E13.7+\u003C\/td\u003E\r\n\u003C\/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd\u003E5.2-5.4\u003C\/td\u003E\r\n\u003Ctd\u003E10+\u003C\/td\u003E\r\n\u003Ctd\u003E8.1+\u003C\/td\u003E\r\n\u003Ctd\u003E12+\u003C\/td\u003E\r\n\u003C\/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd\u003E5.0, 5.1\u003C\/td\u003E\r\n\u003Ctd\u003E9,10\u003C\/td\u003E\r\n\u003Ctd\u003E8.1+\u003C\/td\u003E\r\n\u003Ctd\u003E11+\u003C\/td\u003E\r\n\u003C\/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd\u003E4.x\u003C\/td\u003E\r\n\u003Ctd\u003E8.9+,9\u003C\/td\u003E\r\n\u003Ctd\u003E7.2+\u003C\/td\u003E\r\n\u003Ctd\u003E9+\u003C\/td\u003E\r\n\u003C\/tr\u003E\r\n\u003Ctr\u003E\r\n\u003Ctd\u003E8.x-2.x\u003C\/td\u003E\r\n\u003Ctd\u003E8.x\u003C\/td\u003E\r\n\u003Ctd\u003E7.0+\u003C\/td\u003E\r\n\u003Ctd\u003E8+\u003C\/td\u003E\r\n\u003C\/tr\u003E\r\n\u003C\/tbody\u003E\r\n\u003C\/table\u003E\r\n\u003Ch4\u003E\r\n\u003Ca href=\u0022#maintainers\u0022 aria-hidden=\u0022true\u0022 class=\u0022anchor\u0022 id=\u0022user-content-maintainers\u0022\u003E\u003C\/a\u003EMaintainers\u003C\/h4\u003E\r\n\u003Cp\u003ESee \u003Ca href=\u0022https:\/\/gitlab.com\/groups\/drupaladmins\/devel\/-\/group_members\u0022\u003Ehttps:\/\/gitlab.com\/groups\/drupaladmins\/devel\/-\/group_members\u003C\/a\u003E.\u003C\/p\u003E\r\n\u003C\/div\u003E\r\n","format":"1","processed":"\u003Cdiv class=\u0022toc-filter\u0022\u003E\u003Cdiv\u003E\n\u003Ch4 id=\u0022introduction\u0022\u003E\nIntroduction\u003C\/h4\u003E\n\u003Cp\u003EDevel module contains helper functions and pages for Drupal developers and inquisitive admins:\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003EA block and toolbar for quickly accessing devel pages\u003C\/li\u003E\n\u003Cli\u003EA menu tab added to entities to give access to internal entity properties\u003C\/li\u003E\n\u003Cli\u003EUrls created to view the internal entity properties even when there is no menu tab, for example \/devel\/paragraph\/n\u003C\/li\u003E\n\u003Cli\u003EDebug functions for inspecting a variable such as \u003Ccode\u003Edpm($variable)\u003C\/code\u003E\n\u003C\/li\u003E\n\u003Cli\u003EDebug a SQL query \u003Ccode\u003Edpq($query\u003C\/code\u003E or print a backtrace \u003Ccode\u003Eddebug_backtrace()\u003C\/code\u003E\n\u003C\/li\u003E\n\u003Cli\u003EA block for masquerading as other users (useful for testing)\u003C\/li\u003E\n\u003Cli\u003EA mail-system class which redirects outbound email to files\u003C\/li\u003E\n\u003Cli\u003EDrush commands such as \u003Ccode\u003Efn-hook\u003C\/code\u003E, \u003Ccode\u003Efn-event\u003C\/code\u003E, \u003Ccode\u003Etoken\u003C\/code\u003E, \u003Ccode\u003Euuid\u003C\/code\u003E, and \u003Ccode\u003Edevel-services\u003C\/code\u003E\n\u003C\/li\u003E\n\u003Cli\u003E\n\u003Cem\u003EDevel Generate\u003C\/em\u003E. Bulk creates nodes, users, comment, taxonomy, media, menus, block content for development. Has Drush integration.\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Cp\u003EThis module is safe to use on a production site. Just be sure to only grant \u003Cem\u003Eaccess development information\u003C\/em\u003E permission to developers.\u003C\/p\u003E\n\u003Ch4 id=\u0022collaboration\u0022\u003E\nCollaboration\u003C\/h4\u003E\n\u003Cul\u003E\n\u003Cli\u003E\n\u003Ca href=\u0022https:\/\/gitlab.com\/drupalspoons\/devel\u0022 rel=\u0022nofollow\u0022\u003Ehttps:\/\/gitlab.com\/drupalspoons\/devel\u003C\/a\u003E is our workplace for code, MRs, and CI.\u003C\/li\u003E\n\u003Cli\u003ECreate a personal fork in order to make an MR.\u003C\/li\u003E\n\u003Cli\u003EWe plan to move bck to drupal.org once it uses Gitlab for issues.\u003C\/li\u003E\n\u003Cli\u003EWe auto-push back to git.drupalcode.org in order to keep \u003Ca href=\u0022https:\/\/www.drupal.org\/security\u0022 rel=\u0022nofollow\u0022\u003ESecurity Team\u003C\/a\u003E coverage and packages.drupal.org integration.\u003C\/li\u003E\n\u003Cli\u003EChat with us at \u003Ca href=\u0022https:\/\/drupal.slack.com\/archives\/C012WAW1MH6\u0022 rel=\u0022nofollow\u0022\u003E#devel\u003C\/a\u003E on Drupal Slack.\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Ch4 id=\u0022local-development\u0022\u003E\nLocal Development\u003C\/h4\u003E\n\u003Cp\u003EDDEV is configured with \u003Ca href=\u0022https:\/\/github.com\/ddev\/ddev-drupal-contrib\u0022 rel=\u0022nofollow\u0022\u003Ehttps:\/\/github.com\/ddev\/ddev-drupal-contrib\u003C\/a\u003E for for easy local development, test running, etc.\u003C\/p\u003E\n\u003Ch4 id=\u0022version-compatibility\u0022\u003E\nVersion Compatibility\u003C\/h4\u003E\n\u003Ctable\u003E\n\u003Cthead\u003E\n\u003Ctr\u003E\n\u003Cth\u003EDevel version\u003C\/th\u003E\n\u003Cth\u003EDrupal core\u003C\/th\u003E\n\u003Cth\u003EPHP\u003C\/th\u003E\n\u003Cth\u003EDrush\u003C\/th\u003E\n\u003C\/tr\u003E\n\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\n\u003Ctd\u003E5.5+\u003C\/td\u003E\n\u003Ctd\u003E10.4+\u003C\/td\u003E\n\u003Ctd\u003E8.3+\u003C\/td\u003E\n\u003Ctd\u003E13.7+\u003C\/td\u003E\n\u003C\/tr\u003E\n\u003Ctr\u003E\n\u003Ctd\u003E5.2-5.4\u003C\/td\u003E\n\u003Ctd\u003E10+\u003C\/td\u003E\n\u003Ctd\u003E8.1+\u003C\/td\u003E\n\u003Ctd\u003E12+\u003C\/td\u003E\n\u003C\/tr\u003E\n\u003Ctr\u003E\n\u003Ctd\u003E5.0, 5.1\u003C\/td\u003E\n\u003Ctd\u003E9,10\u003C\/td\u003E\n\u003Ctd\u003E8.1+\u003C\/td\u003E\n\u003Ctd\u003E11+\u003C\/td\u003E\n\u003C\/tr\u003E\n\u003Ctr\u003E\n\u003Ctd\u003E4.x\u003C\/td\u003E\n\u003Ctd\u003E8.9+,9\u003C\/td\u003E\n\u003Ctd\u003E7.2+\u003C\/td\u003E\n\u003Ctd\u003E9+\u003C\/td\u003E\n\u003C\/tr\u003E\n\u003Ctr\u003E\n\u003Ctd\u003E8.x-2.x\u003C\/td\u003E\n\u003Ctd\u003E8.x\u003C\/td\u003E\n\u003Ctd\u003E7.0+\u003C\/td\u003E\n\u003Ctd\u003E8+\u003C\/td\u003E\n\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\u003Ch4 id=\u0022maintainers\u0022\u003E\nMaintainers\u003C\/h4\u003E\n\u003Cp\u003ESee \u003Ca href=\u0022https:\/\/gitlab.com\/groups\/drupaladmins\/devel\/-\/group_members\u0022 rel=\u0022nofollow\u0022\u003Ehttps:\/\/gitlab.com\/groups\/drupaladmins\/devel\/-\/group_members\u003C\/a\u003E.\u003C\/p\u003E\n\u003C\/div\u003E\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\u003C\/div\u003E","summary":""},"field_active_installs":"{\u00228.x-1.x\u0022:2774,\u00228.x-2.x\u0022:5813,\u00228.x-3.x\u0022:115,\u00224.x\u0022:6,\u00224.0.x\u0022:463,\u00224.1.x\u0022:5516,\u00225.x\u0022:49,\u00225.0.x\u0022:890,\u00224.2.x\u0022:4480,\u00225.1.x\u0022:7761,\u00225.2.x\u0022:3139,\u00225.3.x\u0022:12336,\u00225.4.x\u0022:24154,\u00225.5.x\u0022:29924}","field_active_installs_total":97420,"field_composer_namespace":"drupal\/devel","field_core_semver_maximum":13000000,"field_core_semver_minimum":8000000,"field_issue_summary_template":null,"field_logo_url":{"uri":"https:\/\/git.drupalcode.org\/project\/devel\/-\/avatar","title":null,"options":[]},"field_project_has_releases":true,"field_project_machine_name":"devel","field_security_advisory_coverage":"covered"},"relationships":{"uid":{"data":{"type":"user--user","id":"566cb761-b4bc-4928-a192-cf4d906befe7","meta":{"drupal_internal__target_id":23}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/44330ea8-1bb6-468a-b733-fd040d6efbdd\/uid?resourceVersion=id%3A20005032"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/44330ea8-1bb6-468a-b733-fd040d6efbdd\/relationships\/uid?resourceVersion=id%3A20005032"}}},"field_development_status":{"data":{"type":"taxonomy_term--development_status","id":"e767288c-9800-4fb4-aeb8-8c311533838a","meta":{"drupal_internal__target_id":27274}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/44330ea8-1bb6-468a-b733-fd040d6efbdd\/field_development_status?resourceVersion=id%3A20005032"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/44330ea8-1bb6-468a-b733-fd040d6efbdd\/relationships\/field_development_status?resourceVersion=id%3A20005032"}}},"field_maintenance_status":{"data":{"type":"taxonomy_term--maintenance_status","id":"089406ad-304d-4737-80d1-2f08527ae49e","meta":{"drupal_internal__target_id":27271}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/44330ea8-1bb6-468a-b733-fd040d6efbdd\/field_maintenance_status?resourceVersion=id%3A20005032"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/44330ea8-1bb6-468a-b733-fd040d6efbdd\/relationships\/field_maintenance_status?resourceVersion=id%3A20005032"}}},"field_module_categories":{"data":[{"type":"taxonomy_term--module_categories","id":"abf23828-f269-4d39-8589-b731209eb154","meta":{"drupal_internal__target_id":186}},{"type":"taxonomy_term--module_categories","id":"086cebcf-200f-4c34-886e-f9921919b292","meta":{"drupal_internal__target_id":189}}],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/44330ea8-1bb6-468a-b733-fd040d6efbdd\/field_module_categories?resourceVersion=id%3A20005032"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/44330ea8-1bb6-468a-b733-fd040d6efbdd\/relationships\/field_module_categories?resourceVersion=id%3A20005032"}}},"field_project_images":{"data":[{"type":"file--file","id":"a3308d8b-41d1-48a1-96a6-dfd86538e5f1","meta":{"alt":"","title":null,"width":1171,"height":603,"drupal_internal__target_id":16727}}],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/44330ea8-1bb6-468a-b733-fd040d6efbdd\/field_project_images?resourceVersion=id%3A20005032"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/44330ea8-1bb6-468a-b733-fd040d6efbdd\/relationships\/field_project_images?resourceVersion=id%3A20005032"}}}}},{"type":"node--project_module","id":"3862671d-df42-4222-8411-b31889acd17f","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3862671d-df42-4222-8411-b31889acd17f?resourceVersion=id%3A20050448"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3862671d-df42-4222-8411-b31889acd17f?resourceVersion=rel%3Aworking-copy"}},"attributes":{"drupal_internal__nid":3150941,"status":true,"title":"jQuery UI TouchPunch","created":"2020-06-11T15:31:29+00:00","changed":"2026-04-07T05:20:02+00:00","moderation_state":null,"body":{"value":"\u003Cp\u003EDrupal 8 includes jQuery UI in core, however it is no longer actively\r\nmaintained and has been marked deprecated. This module provides the\r\njQuery UI Touch Punch library for any themes and modules that require it.\u003C\/p\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003EjQuery UI \u003Ca href=\u0022http:\/\/touchpunch.furf.com\/\u0022\u003ETouch Punch documentation\u003C\/a\u003E\u003C\/li\u003E\r\n\u003Cli\u003EjQuery UI \u003Ca href=\u0022https:\/\/github.com\/furf\/jquery-ui-touch-punch\u0022\u003ETouch Punch API\r\ndocumentation\u003C\/a\u003E\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\u003Cp\u003E\u003Cstrong\u003ECaution\u003C\/strong\u003E: jQuery UI was deprecated from core because it is no longer\r\nactively maintained, and has been marked \u201cEnd of Life\u201d by the OpenJS\r\nFoundation. It is not recommended to depend on jQuery UI in your own\r\ncode, and instead to select a replacement solution as soon as possible.\u003C\/p\u003E\r\n\r\n\u003Ch3 id=\u0022installation\u0022\u003EInstallation\u003C\/h3\u003E\r\nThe module can be installed via the \u003Ca href=\u0022https:\/\/www.drupal.org\/node\/1897420\u0022\u003Estandard Drupal installation process.\u003C\/a\u003E\r\n\r\n\u003Ch3 id=\u0022requirements\u0022\u003ERequirements\u003C\/h3\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui\u0022\u003EjQuery UI\u003C\/a\u003E\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\u003Ch3 id=\u0022related-modules\u0022\u003ERelated modules\u003C\/h3\u003E\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_accordion\u0022\u003EjQuery UI Accordion\u003C\/a\u003E\u003C\/li\u003E\r\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_button\u0022\u003EjQuery UI Button\u003C\/a\u003E\u003C\/li\u003E\r\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_checkboxradio\u0022\u003EjQuery UI Checkboxradio\u003C\/a\u003E\u003C\/li\u003E\r\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_controlgroup\u0022\u003EjQuery UI Controlgroup\u003C\/a\u003E\u003C\/li\u003E\r\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_draggable\u0022\u003EjQuery UI Draggable\u003C\/a\u003E\u003C\/li\u003E\r\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_droppable\u0022\u003EjQuery UI Droppable\u003C\/a\u003E\u003C\/li\u003E\r\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_effects\u0022\u003EjQuery UI Effects\u003C\/a\u003E\u003C\/li\u003E\r\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_menu\u0022\u003EjQuery UI Menu\u003C\/a\u003E\u003C\/li\u003E\r\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_progressbar\u0022\u003EjQuery UI Progressbar\u003C\/a\u003E\u003C\/li\u003E\r\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_selectable\u0022\u003EjQuery UI Selectable\u003C\/a\u003E\u003C\/li\u003E\r\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_selectmenu\u0022\u003EjQuery UI Selectmenu\u003C\/a\u003E\u003C\/li\u003E\r\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_slider\u0022\u003EjQuery UI Slider\u003C\/a\u003E\u003C\/li\u003E\r\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_spinner\u0022\u003EjQuery UI Spinner\u003C\/a\u003E\u003C\/li\u003E\r\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_datepicker\u0022\u003EjQuery UI Date Picker\u003C\/a\u003E\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\u003Ch3\u003EMaintainers\u003C\/h3\u003E\r\n\r\n\u003Cimg src=\u0022\/files\/styles\/grid-3\/public\/morpht-word-big.png\u0022 alt=\u0022Morpht\u0022 width=\u0022150\u0022 \/\u003E\r\nThis module is maintained by developers at \u003Ca href=\u0022https:\/\/morpht.com\u0022\u003EMorpht\u003C\/a\u003E. For more information on the company and our offerings, see \u003Ca href=\u0022https:\/\/morpht.com\u0022\u003Emorpht.com\u003C\/a\u003E.","format":"1","processed":"\u003Cdiv class=\u0022toc-filter\u0022\u003E\u003Cp\u003EDrupal 8 includes jQuery UI in core, however it is no longer actively\u003Cbr\u003E\nmaintained and has been marked deprecated. This module provides the\u003Cbr\u003E\njQuery UI Touch Punch library for any themes and modules that require it.\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003EjQuery UI \u003Ca href=\u0022http:\/\/touchpunch.furf.com\/\u0022 rel=\u0022nofollow\u0022\u003ETouch Punch documentation\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003EjQuery UI \u003Ca href=\u0022https:\/\/github.com\/furf\/jquery-ui-touch-punch\u0022 rel=\u0022nofollow\u0022\u003ETouch Punch API\u003Cbr\u003E\ndocumentation\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Cp\u003E\u003Cstrong\u003ECaution\u003C\/strong\u003E: jQuery UI was deprecated from core because it is no longer\u003Cbr\u003E\nactively maintained, and has been marked \u201cEnd of Life\u201d by the OpenJS\u003Cbr\u003E\nFoundation. It is not recommended to depend on jQuery UI in your own\u003Cbr\u003E\ncode, and instead to select a replacement solution as soon as possible.\u003C\/p\u003E\n\u003Ch3 id=\u0022installation-01\u0022\u003EInstallation\u003C\/h3\u003E\n\u003Cp\u003EThe module can be installed via the \u003Ca href=\u0022https:\/\/www.drupal.org\/node\/1897420\u0022 rel=\u0022nofollow\u0022\u003Estandard Drupal installation process.\u003C\/a\u003E\u003C\/p\u003E\n\u003Ch3 id=\u0022requirements-01\u0022\u003ERequirements\u003C\/h3\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Ch3 id=\u0022related-modules-01\u0022\u003ERelated modules\u003C\/h3\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_accordion\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Accordion\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_button\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Button\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_checkboxradio\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Checkboxradio\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_controlgroup\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Controlgroup\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_draggable\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Draggable\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_droppable\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Droppable\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_effects\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Effects\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_menu\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Menu\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_progressbar\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Progressbar\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_selectable\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Selectable\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_selectmenu\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Selectmenu\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_slider\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Slider\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_spinner\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Spinner\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/jquery_ui_datepicker\u0022 rel=\u0022nofollow\u0022\u003EjQuery UI Date Picker\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Ch3 id=\u0022maintainers\u0022\u003EMaintainers\u003C\/h3\u003E\n\u003Cp\u003E\u003Cimg src=\u0022\/core\/misc\/icons\/e32700\/error.svg\u0022 alt=\u0022Image removed.\u0022 width=\u002216\u0022 title=\u0022This image has been removed. For security reasons, only images from the local domain are allowed.\u0022 height=\u002216\u0022 class=\u0022filter-image-invalid\u0022\u003E\u003Cbr\u003E\nThis module is maintained by developers at \u003Ca href=\u0022https:\/\/morpht.com\u0022 rel=\u0022nofollow\u0022\u003EMorpht\u003C\/a\u003E. For more information on the company and our offerings, see \u003Ca href=\u0022https:\/\/morpht.com\u0022 rel=\u0022nofollow\u0022\u003Emorpht.com\u003C\/a\u003E.\u003C\/p\u003E\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\u003C\/div\u003E","summary":""},"field_active_installs":"{\u00221.0.x\u0022:4339,\u00221.1.x\u0022:92059}","field_active_installs_total":96398,"field_composer_namespace":"drupal\/jquery_ui_touch_punch","field_core_semver_maximum":12000000,"field_core_semver_minimum":8000000,"field_issue_summary_template":null,"field_logo_url":null,"field_project_has_releases":true,"field_project_machine_name":"jquery_ui_touch_punch","field_security_advisory_coverage":"covered"},"relationships":{"uid":{"data":{"type":"user--user","id":"ef974d88-7b8d-4a17-92f6-d30f99d05357","meta":{"drupal_internal__target_id":2665733}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3862671d-df42-4222-8411-b31889acd17f\/uid?resourceVersion=id%3A20050448"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3862671d-df42-4222-8411-b31889acd17f\/relationships\/uid?resourceVersion=id%3A20050448"}}},"field_development_status":{"data":{"type":"taxonomy_term--development_status","id":"e767288c-9800-4fb4-aeb8-8c311533838a","meta":{"drupal_internal__target_id":27274}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3862671d-df42-4222-8411-b31889acd17f\/field_development_status?resourceVersion=id%3A20050448"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3862671d-df42-4222-8411-b31889acd17f\/relationships\/field_development_status?resourceVersion=id%3A20050448"}}},"field_maintenance_status":{"data":{"type":"taxonomy_term--maintenance_status","id":"089406ad-304d-4737-80d1-2f08527ae49e","meta":{"drupal_internal__target_id":27271}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3862671d-df42-4222-8411-b31889acd17f\/field_maintenance_status?resourceVersion=id%3A20050448"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3862671d-df42-4222-8411-b31889acd17f\/relationships\/field_maintenance_status?resourceVersion=id%3A20050448"}}},"field_module_categories":{"data":[],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3862671d-df42-4222-8411-b31889acd17f\/field_module_categories?resourceVersion=id%3A20050448"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3862671d-df42-4222-8411-b31889acd17f\/relationships\/field_module_categories?resourceVersion=id%3A20050448"}}},"field_project_images":{"data":[],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3862671d-df42-4222-8411-b31889acd17f\/field_project_images?resourceVersion=id%3A20050448"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/3862671d-df42-4222-8411-b31889acd17f\/relationships\/field_project_images?resourceVersion=id%3A20050448"}}}}},{"type":"node--project_module","id":"32d1a541-4cc9-411e-9a6a-15337dd14bf6","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/32d1a541-4cc9-411e-9a6a-15337dd14bf6?resourceVersion=id%3A20005452"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/32d1a541-4cc9-411e-9a6a-15337dd14bf6?resourceVersion=rel%3Aworking-copy"}},"attributes":{"drupal_internal__nid":35189,"status":true,"title":"SMTP Authentication Support","created":"2005-10-25T11:50:45+00:00","changed":"2026-04-07T05:20:02+00:00","moderation_state":null,"body":{"value":"This module allows Drupal to bypass the PHP mail() function and send email directly to an SMTP server. The module supports SMTP authentication and can even connect to servers using SSL if supported by PHPMailer. \r\n\r\n\u003Ch2\u003EWhat does SMTP do?\u003C\/h2\u003E\r\nIt sends mail via the SMTP protocol using the \u003Ca href=\u0022https:\/\/github.com\/PHPMailer\/PHPMailer\u0022 title=\u0022PHPMailer Github\u0022\u003EPHPMailer library\u003C\/a\u003E. While it can be a standalone module for the Drupal mailsystem, you can also use the \u003Ca href=\u0022\/project\/mailsystem\u0022\u003EMail System module\u003C\/a\u003E to manage multiple mailer modules including SMTP.\r\n\r\n\u003Ch3\u003EWhat does SMTP NOT do?\u003C\/h3\u003E\r\nThis module does not support (and will not support) sending mail via other protocols or APIs other than SMTP. \r\nFor Example: While services like sendgrid do support SMTP, you may get a better experience using the \u003Ca href=\u0022https:\/\/www.drupal.org\/project\/sendgrid_integration\u0022\u003ESendgrid Integration\u003C\/a\u003E Module \r\n\r\n\u003Ch2\u003EDependencies\u003C\/h2\u003E\r\n\u003Cul\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022https:\/\/github.com\/PHPMailer\/PHPMailer\u0022 title=\u0022PHPMailer Github\u0022\u003EPHPMailer\u003C\/a\u003E\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\u003Ch3\u003EIntegrations\u003C\/h3\u003E\r\n\u003Cul\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022\/project\/mailsystem\u0022\u003EMail System\u003C\/a\u003E \u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\r\n\r\n","format":"1","processed":"\u003Cdiv class=\u0022toc-filter\u0022\u003E\u003Cp\u003EThis module allows Drupal to bypass the PHP mail() function and send email directly to an SMTP server. The module supports SMTP authentication and can even connect to servers using SSL if supported by PHPMailer. \u003C\/p\u003E\n\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\n\n\u003Ch2 id=\u0022what-does-smtp-do\u0022\u003EWhat does SMTP do?\u003C\/h2\u003E\n\u003Cp\u003EIt sends mail via the SMTP protocol using the \u003Ca href=\u0022https:\/\/github.com\/PHPMailer\/PHPMailer\u0022 rel=\u0022nofollow\u0022\u003EPHPMailer library\u003C\/a\u003E. While it can be a standalone module for the Drupal mailsystem, you can also use the \u003Ca href=\u0022\/project\/mailsystem\u0022 rel=\u0022nofollow\u0022\u003EMail System module\u003C\/a\u003E to manage multiple mailer modules including SMTP.\u003C\/p\u003E\n\u003Ch3 id=\u0022what-does-smtp-not-do\u0022\u003EWhat does SMTP NOT do?\u003C\/h3\u003E\n\u003Cp\u003EThis module does not support (and will not support) sending mail via other protocols or APIs other than SMTP.\u003Cbr\u003E\nFor Example: While services like sendgrid do support SMTP, you may get a better experience using the \u003Ca href=\u0022https:\/\/www.drupal.org\/project\/sendgrid_integration\u0022 rel=\u0022nofollow\u0022\u003ESendgrid Integration\u003C\/a\u003E Module \u003C\/p\u003E\n\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\n\n\u003Ch2 id=\u0022dependencies\u0022\u003EDependencies\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/github.com\/PHPMailer\/PHPMailer\u0022 rel=\u0022nofollow\u0022\u003EPHPMailer\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Ch3 id=\u0022integrations\u0022\u003EIntegrations\u003C\/h3\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\u0022\/project\/mailsystem\u0022 rel=\u0022nofollow\u0022\u003EMail System\u003C\/a\u003E \u003C\/li\u003E\n\u003C\/ul\u003E\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\u003C\/div\u003E","summary":"Allows email to be sent from the website to an external SMTP email server or email service."},"field_active_installs":"{\u00228.x-1.x\u0022:95109}","field_active_installs_total":95109,"field_composer_namespace":"drupal\/smtp","field_core_semver_maximum":12000000,"field_core_semver_minimum":8000000,"field_issue_summary_template":null,"field_logo_url":{"uri":"https:\/\/git.drupalcode.org\/project\/smtp\/-\/avatar","title":null,"options":[]},"field_project_has_releases":true,"field_project_machine_name":"smtp","field_security_advisory_coverage":"covered"},"relationships":{"uid":{"data":{"type":"user--user","id":"c7047c8f-c3cc-4139-bee4-6561bce7eb73","meta":{"drupal_internal__target_id":25523}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/32d1a541-4cc9-411e-9a6a-15337dd14bf6\/uid?resourceVersion=id%3A20005452"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/32d1a541-4cc9-411e-9a6a-15337dd14bf6\/relationships\/uid?resourceVersion=id%3A20005452"}}},"field_development_status":{"data":{"type":"taxonomy_term--development_status","id":"e767288c-9800-4fb4-aeb8-8c311533838a","meta":{"drupal_internal__target_id":27274}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/32d1a541-4cc9-411e-9a6a-15337dd14bf6\/field_development_status?resourceVersion=id%3A20005452"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/32d1a541-4cc9-411e-9a6a-15337dd14bf6\/relationships\/field_development_status?resourceVersion=id%3A20005452"}}},"field_maintenance_status":{"data":{"type":"taxonomy_term--maintenance_status","id":"089406ad-304d-4737-80d1-2f08527ae49e","meta":{"drupal_internal__target_id":27271}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/32d1a541-4cc9-411e-9a6a-15337dd14bf6\/field_maintenance_status?resourceVersion=id%3A20005452"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/32d1a541-4cc9-411e-9a6a-15337dd14bf6\/relationships\/field_maintenance_status?resourceVersion=id%3A20005452"}}},"field_module_categories":{"data":[{"type":"taxonomy_term--module_categories","id":"81212413-80b0-44d6-84fb-9078baa7ab25","meta":{"drupal_internal__target_id":198}},{"type":"taxonomy_term--module_categories","id":"3322058a-a158-4806-ac5b-9bcabc95edac","meta":{"drupal_internal__target_id":185}},{"type":"taxonomy_term--module_categories","id":"8117d8b0-f171-414d-b384-0bafa81bef9f","meta":{"drupal_internal__target_id":193}}],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/32d1a541-4cc9-411e-9a6a-15337dd14bf6\/field_module_categories?resourceVersion=id%3A20005452"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/32d1a541-4cc9-411e-9a6a-15337dd14bf6\/relationships\/field_module_categories?resourceVersion=id%3A20005452"}}},"field_project_images":{"data":[{"type":"file--file","id":"49015ed5-1587-4bc7-92e0-15c5e5f84069","meta":{"alt":"","title":null,"width":990,"height":3252,"drupal_internal__target_id":1437516}}],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/32d1a541-4cc9-411e-9a6a-15337dd14bf6\/field_project_images?resourceVersion=id%3A20005452"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/32d1a541-4cc9-411e-9a6a-15337dd14bf6\/relationships\/field_project_images?resourceVersion=id%3A20005452"}}}}},{"type":"node--project_module","id":"cc8efc2c-081a-4652-b078-13d641cd0ae6","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/cc8efc2c-081a-4652-b078-13d641cd0ae6?resourceVersion=id%3A20025182"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/cc8efc2c-081a-4652-b078-13d641cd0ae6?resourceVersion=rel%3Aworking-copy"}},"attributes":{"drupal_internal__nid":1943336,"status":true,"title":"Entity Browser","created":"2013-03-14T20:33:40+00:00","changed":"2026-04-07T05:20:02+00:00","moderation_state":null,"body":{"value":"Goal of this module is to provide a generic entity browser\/picker\/selector. It can be used in any context where one needs to select few entities and do something with them.\r\n\r\nPossible use cases:\r\n\u003Cul\u003E\r\n\u003Cli\u003EPowerful entity reference widget\u003C\/li\u003E\r\n\u003Cli\u003EEmbedding entities into wysiwyg.\u003C\/li\u003E\r\n\u003Cli\u003EYou name it!\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\u003Ch2\u003EDocumentation\u003C\/h2\u003E\r\n\r\nPlease feel free to contribute to the \u003Ca href=\u0022https:\/\/www.drupal.org\/docs\/8\/modules\/entity-browser\u0022\u003Edocumentation\u003C\/a\u003E.\r\n\r\n\u003Ch2\u003EExamples\u003C\/h2\u003E\r\n\r\nEntity browser comes with an example module that can be used as a starting point. \r\n\r\nThere is also \u003Ca href=\u0022http:\/\/drupal.org\/project\/file_browser\u0022\u003EFile entity browser\u003C\/a\u003E module that creates a nice widget that allows you to upload files and select from file library. It uses standard entity browser plugins and does some tweaks and theming on top of that. \r\n\r\n\u003Ch2\u003EIntegrations\u003C\/h2\u003E\r\n\r\nEntity browser integrates with \u003Ca href=\u0022http:\/\/drupal.org\/project\/inline_entity_form\u0022\u003EInline entity form\u003C\/a\u003E. See \u003Ca href=\u0022https:\/\/www.drupal.org\/docs\/8\/modules\/entity-browser\/inline-entity-form\u0022\u003Edocumentation\u003C\/a\u003E for more info.\r\n\r\n\u003Ch2\u003EList of available plugins\u003C\/h2\u003E\r\n\r\n\u003Ch3\u003EDisplays\u003C\/h3\u003E\r\n\u003Cul\u003E\r\n  \u003Cli\u003EStandalone (part of main module)\u003C\/li\u003E\r\n  \u003Cli\u003EiFrame (part of main module)\u003C\/li\u003E\r\n  \u003Cli\u003EModal (part of main module)\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\u003Ch3\u003EWidget selectors\u003C\/h3\u003E\r\n\u003Cul\u003E\r\n  \u003Cli\u003EDropdown (part of main module)\u003C\/li\u003E\r\n  \u003Cli\u003ETabs (part of main module)\u003C\/li\u003E\r\n  \u003Cli\u003ESingle widget (part of main module)\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\u003Ch3\u003EWidgets\u003C\/h3\u003E\r\n\u003Cul\u003E\r\n  \u003Cli\u003EFile upload (part of main module)\u003C\/li\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022http:\/\/drupal.org\/project\/media_entity_image\u0022\u003EMedia entity image upload\u003C\/a\u003E\u003C\/li\u003E\r\n  \u003Cli\u003EViews (part of main module)\u003C\/li\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022http:\/\/drupal.org\/project\/dropzonejs\u0022\u003EDropzoneJS file upload\u003C\/a\u003E\u003C\/li\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022http:\/\/drupal.org\/project\/dropzonejs\u0022\u003EDropzoneJS media entity image upload\u003C\/a\u003E\u003C\/li\u003E\r\n  \u003Cli\u003EEntity form (submodule in main repo)\u003C\/li\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/media_elvis\u0022\u003EWoodwing Elvis DAM\u003C\/a\u003E\u003C\/li\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/bynder\u0022\u003EBynder\u003C\/a\u003E\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\u003Ch3\u003ESelection displays\u003C\/h3\u003E\r\n\u003Cul\u003E\r\n  \u003Cli\u003ENo display (part of main module)\u003C\/li\u003E\r\n  \u003Cli\u003EMulti-step display (part of main module)\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\u003Ch2\u003EModules that use Entity browser\u003C\/h2\u003E\r\n\r\n\u003Cul\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022http:\/\/drupal.org\/project\/file_browser\u0022\u003EFile entity browser\u003C\/a\u003E\u003C\/li\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022http:\/\/drupal.org\/project\/content_browser\u0022\u003EContent browser\u003C\/a\u003E\u003C\/li\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/media_entity_browser\u0022\u003EMedia entity browser\u003C\/a\u003E\u003C\/li\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/media\u0022\u003EMedia\u003C\/a\u003E\u003C\/li\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/entity_browser_enhanced\u0022\u003EEntity browser enhanced\u003C\/a\u003E\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\r\n\u003Ch2\u003EDevelopment\u003C\/h2\u003E\r\n\r\nCheck \u003Ca href=\u0022https:\/\/www.drupal.org\/node\/2576683\u0022\u003Eroadmap meta issue\u003C\/a\u003E in order to see what current focus of development is. \r\n\r\nOur fancy logo was created by \u003Ca href=\u0022https:\/\/www.drupal.org\/u\/artnetik\u0022\u003EDavid Li\u010den\u003C\/a\u003E.\r\n\r\n\u003Cdiv class=\u0022messages warning\u0022\u003E\u003Cstrong\u003EThe previous Drupal 7 module has been moved to \u003Ca href=\u0022https:\/\/drupal.org\/project\/entity_type_browser\u0022\u003EEntity Type Browser module\u003C\/a\u003E\u003C\/strong\u003E\u003C\/div\u003E","format":"1","processed":"\u003Cdiv class=\u0022toc-filter\u0022\u003E\u003Cp\u003EGoal of this module is to provide a generic entity browser\/picker\/selector. It can be used in any context where one needs to select few entities and do something with them.\u003C\/p\u003E\n\u003Cp\u003EPossible use cases:\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003EPowerful entity reference widget\u003C\/li\u003E\n\u003Cli\u003EEmbedding entities into wysiwyg.\u003C\/li\u003E\n\u003Cli\u003EYou name it!\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\n\n\u003Ch2 id=\u0022documentation\u0022\u003EDocumentation\u003C\/h2\u003E\n\u003Cp\u003EPlease feel free to contribute to the \u003Ca href=\u0022https:\/\/www.drupal.org\/docs\/8\/modules\/entity-browser\u0022 rel=\u0022nofollow\u0022\u003Edocumentation\u003C\/a\u003E.\u003C\/p\u003E\n\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\n\n\u003Ch2 id=\u0022examples\u0022\u003EExamples\u003C\/h2\u003E\n\u003Cp\u003EEntity browser comes with an example module that can be used as a starting point. \u003C\/p\u003E\n\u003Cp\u003EThere is also \u003Ca href=\u0022http:\/\/drupal.org\/project\/file_browser\u0022 rel=\u0022nofollow\u0022\u003EFile entity browser\u003C\/a\u003E module that creates a nice widget that allows you to upload files and select from file library. It uses standard entity browser plugins and does some tweaks and theming on top of that. \u003C\/p\u003E\n\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\n\n\u003Ch2 id=\u0022integrations\u0022\u003EIntegrations\u003C\/h2\u003E\n\u003Cp\u003EEntity browser integrates with \u003Ca href=\u0022http:\/\/drupal.org\/project\/inline_entity_form\u0022 rel=\u0022nofollow\u0022\u003EInline entity form\u003C\/a\u003E. See \u003Ca href=\u0022https:\/\/www.drupal.org\/docs\/8\/modules\/entity-browser\/inline-entity-form\u0022 rel=\u0022nofollow\u0022\u003Edocumentation\u003C\/a\u003E for more info.\u003C\/p\u003E\n\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\n\n\u003Ch2 id=\u0022list-of-available-plugins\u0022\u003EList of available plugins\u003C\/h2\u003E\n\u003Ch3 id=\u0022displays\u0022\u003EDisplays\u003C\/h3\u003E\n\u003Cul\u003E\n\u003Cli\u003EStandalone (part of main module)\u003C\/li\u003E\n\u003Cli\u003EiFrame (part of main module)\u003C\/li\u003E\n\u003Cli\u003EModal (part of main module)\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Ch3 id=\u0022widget-selectors\u0022\u003EWidget selectors\u003C\/h3\u003E\n\u003Cul\u003E\n\u003Cli\u003EDropdown (part of main module)\u003C\/li\u003E\n\u003Cli\u003ETabs (part of main module)\u003C\/li\u003E\n\u003Cli\u003ESingle widget (part of main module)\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Ch3 id=\u0022widgets\u0022\u003EWidgets\u003C\/h3\u003E\n\u003Cul\u003E\n\u003Cli\u003EFile upload (part of main module)\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022http:\/\/drupal.org\/project\/media_entity_image\u0022 rel=\u0022nofollow\u0022\u003EMedia entity image upload\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003EViews (part of main module)\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022http:\/\/drupal.org\/project\/dropzonejs\u0022 rel=\u0022nofollow\u0022\u003EDropzoneJS file upload\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022http:\/\/drupal.org\/project\/dropzonejs\u0022 rel=\u0022nofollow\u0022\u003EDropzoneJS media entity image upload\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003EEntity form (submodule in main repo)\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/media_elvis\u0022 rel=\u0022nofollow\u0022\u003EWoodwing Elvis DAM\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/bynder\u0022 rel=\u0022nofollow\u0022\u003EBynder\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Ch3 id=\u0022selection-displays\u0022\u003ESelection displays\u003C\/h3\u003E\n\u003Cul\u003E\n\u003Cli\u003ENo display (part of main module)\u003C\/li\u003E\n\u003Cli\u003EMulti-step display (part of main module)\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\n\n\u003Ch2 id=\u0022modules-that-use-entity-browser\u0022\u003EModules that use Entity browser\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\u0022http:\/\/drupal.org\/project\/file_browser\u0022 rel=\u0022nofollow\u0022\u003EFile entity browser\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022http:\/\/drupal.org\/project\/content_browser\u0022 rel=\u0022nofollow\u0022\u003EContent browser\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/media_entity_browser\u0022 rel=\u0022nofollow\u0022\u003EMedia entity browser\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/media\u0022 rel=\u0022nofollow\u0022\u003EMedia\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/entity_browser_enhanced\u0022 rel=\u0022nofollow\u0022\u003EEntity browser enhanced\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\n\n\u003Ch2 id=\u0022development\u0022\u003EDevelopment\u003C\/h2\u003E\n\u003Cp\u003ECheck \u003Ca href=\u0022https:\/\/www.drupal.org\/node\/2576683\u0022 rel=\u0022nofollow\u0022\u003Eroadmap meta issue\u003C\/a\u003E in order to see what current focus of development is. \u003C\/p\u003E\n\u003Cp\u003EOur fancy logo was created by \u003Ca href=\u0022https:\/\/www.drupal.org\/u\/artnetik\u0022 rel=\u0022nofollow\u0022\u003EDavid Li\u010den\u003C\/a\u003E.\u003C\/p\u003E\n\u003Cdiv\u003E\u003Cstrong\u003EThe previous Drupal 7 module has been moved to \u003Ca href=\u0022https:\/\/drupal.org\/project\/entity_type_browser\u0022 rel=\u0022nofollow\u0022\u003EEntity Type Browser module\u003C\/a\u003E\u003C\/strong\u003E\u003C\/div\u003E\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\u003C\/div\u003E","summary":"Provides a flexible and generic entity browsing and selecting tool (using views and other browsers). It can be used to select, reference or embed entities into the editor. Highly configurable and extensible."},"field_active_installs":"{\u00228.x-1.x\u0022:2676,\u00228.x-2.x\u0022:89557}","field_active_installs_total":92233,"field_composer_namespace":"drupal\/entity_browser","field_core_semver_maximum":12000000,"field_core_semver_minimum":8000000,"field_issue_summary_template":null,"field_logo_url":null,"field_project_has_releases":true,"field_project_machine_name":"entity_browser","field_security_advisory_coverage":"covered"},"relationships":{"uid":{"data":{"type":"user--user","id":"45aa7efc-40a7-4cd3-a412-723ef2d49285","meta":{"drupal_internal__target_id":3260690}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/cc8efc2c-081a-4652-b078-13d641cd0ae6\/uid?resourceVersion=id%3A20025182"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/cc8efc2c-081a-4652-b078-13d641cd0ae6\/relationships\/uid?resourceVersion=id%3A20025182"}}},"field_development_status":{"data":{"type":"taxonomy_term--development_status","id":"e767288c-9800-4fb4-aeb8-8c311533838a","meta":{"drupal_internal__target_id":27274}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/cc8efc2c-081a-4652-b078-13d641cd0ae6\/field_development_status?resourceVersion=id%3A20025182"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/cc8efc2c-081a-4652-b078-13d641cd0ae6\/relationships\/field_development_status?resourceVersion=id%3A20025182"}}},"field_maintenance_status":{"data":{"type":"taxonomy_term--maintenance_status","id":"089406ad-304d-4737-80d1-2f08527ae49e","meta":{"drupal_internal__target_id":27271}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/cc8efc2c-081a-4652-b078-13d641cd0ae6\/field_maintenance_status?resourceVersion=id%3A20025182"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/cc8efc2c-081a-4652-b078-13d641cd0ae6\/relationships\/field_maintenance_status?resourceVersion=id%3A20025182"}}},"field_module_categories":{"data":[{"type":"taxonomy_term--module_categories","id":"86237004-3801-40cf-96b5-fe7d60efccb5","meta":{"drupal_internal__target_id":187}},{"type":"taxonomy_term--module_categories","id":"68428c33-1db7-438d-b1b3-e23004e0982b","meta":{"drupal_internal__target_id":192}}],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/cc8efc2c-081a-4652-b078-13d641cd0ae6\/field_module_categories?resourceVersion=id%3A20025182"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/cc8efc2c-081a-4652-b078-13d641cd0ae6\/relationships\/field_module_categories?resourceVersion=id%3A20025182"}}},"field_project_images":{"data":[{"type":"file--file","id":"9fd9e5f8-a0d4-4108-87bd-e708fa9b568a","meta":{"alt":"Entity browser logo by David Li\u010den","title":null,"width":550,"height":320,"drupal_internal__target_id":18098}}],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/cc8efc2c-081a-4652-b078-13d641cd0ae6\/field_project_images?resourceVersion=id%3A20025182"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/cc8efc2c-081a-4652-b078-13d641cd0ae6\/relationships\/field_project_images?resourceVersion=id%3A20025182"}}}}},{"type":"node--project_module","id":"313c47e3-280e-46cf-8489-cba7c8d2f37a","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/313c47e3-280e-46cf-8489-cba7c8d2f37a?resourceVersion=id%3A20037242"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/313c47e3-280e-46cf-8489-cba7c8d2f37a?resourceVersion=rel%3Aworking-copy"}},"attributes":{"drupal_internal__nid":2634568,"status":true,"title":"External Authentication","created":"2015-12-14T10:42:09+00:00","changed":"2026-04-07T05:20:02+00:00","moderation_state":null,"body":{"value":"\u003Ch2\u003EDescription\u003C\/h2\u003E\r\nThe ExternalAuth module provides a generic service for logging in and registering users that are authenticated against an external site or service and storing the authentication details.\r\nIt is the Modern Drupal equivalent of user_external_login_register() and related functions, as well as the authmap table in Drupal 7 core.\r\n\r\n\u003Ch2\u003ETarget audience\u003C\/h2\u003E\r\nThis is a helper module, intended to be used by Drupal module developers, as a dependency for their own custom \/ contrib modules. It provides no out-of-the-box UI or functionality for site builders.\r\n\r\n\u003Ch2\u003ERelated modules\u003C\/h2\u003E\r\n\u003Cul\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/user_auth_api\u0022\u003EUser Auth API - for Drupal 7\u003C\/a\u003E\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\u003Ch2\u003EModules using ExternalAuth\u003C\/h2\u003E\r\n\u003Cul\u003E\r\n\r\n  \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/LDAP\u0022\u003ELDAP\u003C\/a\u003E\u003C\/li\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/cas\u0022\u003ECAS\u003C\/a\u003E\u003C\/li\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/samlauth\u0022\u003ESAML Authentication\u003C\/a\u003E\u003C\/li\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/simplesamlphp_auth\u0022\u003ESimpleSAMLphp Authentication\u003C\/a\u003E\u003C\/li\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/certificatelogin\u0022\u003ECertificate Login\u003C\/a\u003E\u003C\/li\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/bankid\u0022\u003EBankID\u003C\/a\u003E\u003C\/li\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/externalauth\/ecosystem\u0022\u003E... and more\u003C\/a\u003E\u003C\/li\u003E\r\n\u003C\/ul\u003E","format":"1","processed":"\u003Cdiv class=\u0022toc-filter\u0022\u003E\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\n\n\u003Ch2 id=\u0022description\u0022\u003EDescription\u003C\/h2\u003E\n\u003Cp\u003EThe ExternalAuth module provides a generic service for logging in and registering users that are authenticated against an external site or service and storing the authentication details.\u003Cbr\u003E\nIt is the Modern Drupal equivalent of user_external_login_register() and related functions, as well as the authmap table in Drupal 7 core.\u003C\/p\u003E\n\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\n\n\u003Ch2 id=\u0022target-audience\u0022\u003ETarget audience\u003C\/h2\u003E\n\u003Cp\u003EThis is a helper module, intended to be used by Drupal module developers, as a dependency for their own custom \/ contrib modules. It provides no out-of-the-box UI or functionality for site builders.\u003C\/p\u003E\n\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\n\n\u003Ch2 id=\u0022related-modules\u0022\u003ERelated modules\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/user_auth_api\u0022 rel=\u0022nofollow\u0022\u003EUser Auth API - for Drupal 7\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\n\n\u003Ch2 id=\u0022modules-using-externalauth\u0022\u003EModules using ExternalAuth\u003C\/h2\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/LDAP\u0022 rel=\u0022nofollow\u0022\u003ELDAP\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/cas\u0022 rel=\u0022nofollow\u0022\u003ECAS\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/samlauth\u0022 rel=\u0022nofollow\u0022\u003ESAML Authentication\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/simplesamlphp_auth\u0022 rel=\u0022nofollow\u0022\u003ESimpleSAMLphp Authentication\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/certificatelogin\u0022 rel=\u0022nofollow\u0022\u003ECertificate Login\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/bankid\u0022 rel=\u0022nofollow\u0022\u003EBankID\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/externalauth\/ecosystem\u0022 rel=\u0022nofollow\u0022\u003E... and more\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\u003C\/div\u003E","summary":"Provides a generic service for logging in and registering users that are authenticated against an external site or service and storing the authentication details."},"field_active_installs":"{\u00228.x-1.x\u0022:4499,\u00222.0.x\u0022:86911}","field_active_installs_total":91410,"field_composer_namespace":"drupal\/externalauth","field_core_semver_maximum":12000000,"field_core_semver_minimum":8000000,"field_issue_summary_template":null,"field_logo_url":{"uri":"https:\/\/git.drupalcode.org\/project\/externalauth\/-\/avatar","title":null,"options":[]},"field_project_has_releases":true,"field_project_machine_name":"externalauth","field_security_advisory_coverage":"covered"},"relationships":{"uid":{"data":{"type":"user--user","id":"cf195a19-00b6-4e02-aef7-5fe21d63b2df","meta":{"drupal_internal__target_id":35369}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/313c47e3-280e-46cf-8489-cba7c8d2f37a\/uid?resourceVersion=id%3A20037242"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/313c47e3-280e-46cf-8489-cba7c8d2f37a\/relationships\/uid?resourceVersion=id%3A20037242"}}},"field_development_status":{"data":{"type":"taxonomy_term--development_status","id":"e767288c-9800-4fb4-aeb8-8c311533838a","meta":{"drupal_internal__target_id":27274}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/313c47e3-280e-46cf-8489-cba7c8d2f37a\/field_development_status?resourceVersion=id%3A20037242"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/313c47e3-280e-46cf-8489-cba7c8d2f37a\/relationships\/field_development_status?resourceVersion=id%3A20037242"}}},"field_maintenance_status":{"data":{"type":"taxonomy_term--maintenance_status","id":"089406ad-304d-4737-80d1-2f08527ae49e","meta":{"drupal_internal__target_id":27271}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/313c47e3-280e-46cf-8489-cba7c8d2f37a\/field_maintenance_status?resourceVersion=id%3A20037242"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/313c47e3-280e-46cf-8489-cba7c8d2f37a\/relationships\/field_maintenance_status?resourceVersion=id%3A20037242"}}},"field_module_categories":{"data":[{"type":"taxonomy_term--module_categories","id":"24830916-5c07-4446-89de-960915f87bf6","meta":{"drupal_internal__target_id":199}},{"type":"taxonomy_term--module_categories","id":"086cebcf-200f-4c34-886e-f9921919b292","meta":{"drupal_internal__target_id":189}},{"type":"taxonomy_term--module_categories","id":"3322058a-a158-4806-ac5b-9bcabc95edac","meta":{"drupal_internal__target_id":185}}],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/313c47e3-280e-46cf-8489-cba7c8d2f37a\/field_module_categories?resourceVersion=id%3A20037242"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/313c47e3-280e-46cf-8489-cba7c8d2f37a\/relationships\/field_module_categories?resourceVersion=id%3A20037242"}}},"field_project_images":{"data":[],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/313c47e3-280e-46cf-8489-cba7c8d2f37a\/field_project_images?resourceVersion=id%3A20037242"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/313c47e3-280e-46cf-8489-cba7c8d2f37a\/relationships\/field_project_images?resourceVersion=id%3A20037242"}}}}},{"type":"node--project_module","id":"30e52acd-5cc7-45a6-90d0-015b46fc0eab","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/30e52acd-5cc7-45a6-90d0-015b46fc0eab?resourceVersion=id%3A20029853"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/30e52acd-5cc7-45a6-90d0-015b46fc0eab?resourceVersion=rel%3Aworking-copy"}},"attributes":{"drupal_internal__nid":2199963,"status":true,"title":"Google Tag","created":"2014-02-19T02:18:40+00:00","changed":"2026-04-07T05:20:02+00:00","moderation_state":null,"body":{"value":"\u003Cdiv class=\u0022note-tip\u0022\u003E\r\n\u003Ch2\u003EGoogle Tag\u003C\/h2\u003E\r\n\u003Cp\u003EThe 2.0.x branch supports \u003Ca href=\u0022https:\/\/developers.google.com\/tag-platform\/gtagjs\u0022\u003EGoogle Tag\u003C\/a\u003E and \u003Ca href=\u0022https:\/\/developers.google.com\/tag-platform\/tag-manager\u0022\u003EGoogle Tag Manager\u003C\/a\u003E. Users of Google Analytics should be using the 2.x version of this module.\u003C\/p\u003E\r\n\u003C\/div\u003E\r\n\r\nThis project integrates the site with the \u003Ca href=\u0022https:\/\/tagmanager.google.com\/\u0022 title=\u0022Google Tag Manager\u0022\u003EGoogle Tag Manager\u003C\/a\u003E (GTM) application. GTM allows you to deploy analytics and measurement tag configurations from a web-based user interface (hosted by Google) instead of requiring administrative access to your website.\r\n\r\nTo use the module, sign up for GTM and obtain a \u0022container ID\u0022 for your website. For development purposes, create a GTM environment for your website.\r\n\r\n\u003Cstrong\u003ECRITICAL NOTES for releases 8.x-1.3+\u003C\/strong\u003E\r\nIf the site enables other modules that implement condition plugins (e.g. ctools, rules, webform), then it will most likely be necessary to apply the core patch from issue \u00273114467\u0027 (link intentionally omitted).\r\n\r\nIf Drush commands are run as a user other than the web user, then do NOT enable the \u003Cstrong\u003Erecreate snippets on cache rebuild\u003C\/strong\u003E module setting unless the web user has permission to delete files created by the Drush user. This setting will be disabled by default beginning with release 8.x-1.6.\r\n\r\n\u003Cstrong\u003EFeatures in 8.x and 7.x-2.x branches\u003C\/strong\u003E\r\nThese branches support multiple containers. From the container management page, add a container and enter the \u0022container ID\u0022 and \u0022environment ID\u0022 on the container form. You may also configure the conditions on which the tags are inserted on a page response. Conditions exist for: request path, user role, response status,  domain, and language. The latter two require the domain and language (8.x) or locale (7.x) modules, respectively.\r\n\r\nIn addition, other modules may also define and implement additional conditions using the condition plugin architecture in 8.x or the exposed hooks in 7.x (see the api.php file). Alternatively, other modules can implement hook_google_tag_insert_alter() to apply additional conditions on the containers inserted on a page response.\r\n\r\n\u003Cstrong\u003EAdditional features in 7.x-2.x branch\u003C\/strong\u003E\r\nThe 7.x-2.x branch also provides a variable realm condition. The realm condition may be used to filter the containers by realm, such as language and domain. This feature requires the variable_realm and variable_store modules to be enabled and configured.\r\n\r\n\u003Cstrong\u003EFeatures in 7.x-1.x branch\u003C\/strong\u003E\r\nThis branch implements the Variable API, so that settings may be separately configured by realm, thus enabling support for multiple languages and domains.\r\n\r\n\u003Cstrong\u003EFalse positives from Google Search Console\u003C\/strong\u003E\r\nIf you attempt to verify your site for GTM using the Google Search Console, be aware the Google tool will return false positive results. For example, the tool will indicate the \u0022noscript\u0022 snippet  needs to be placed \u0022immediately\u0022 after the opening body tag. (NOTE: The module places the snippet as close to the body tag as can be done using standard Drupal hooks.) Verification using this tool may fail but the JavaScript works properly and tags will be added to the page and fired as defined in your GTM account. If you want this snippet immediately after body tag, then modify the theme template file (html.tpl.php for Drupal 7, html.html.twig for Drupal 8), as it controls how close the snippet will be to the body tag.\r\n","format":"1","processed":"\u003Cdiv class=\u0022note-tip\u0022\u003E\n\u003Ch2\u003EGoogle Tag\u003C\/h2\u003E\n\u003Cp\u003EThe 2.0.x branch supports \u003Ca href=\u0022https:\/\/developers.google.com\/tag-platform\/gtagjs\u0022 rel=\u0022nofollow\u0022\u003EGoogle Tag\u003C\/a\u003E and \u003Ca href=\u0022https:\/\/developers.google.com\/tag-platform\/tag-manager\u0022 rel=\u0022nofollow\u0022\u003EGoogle Tag Manager\u003C\/a\u003E. Users of Google Analytics should be using the 2.x version of this module.\u003C\/p\u003E\n\u003C\/div\u003E\n\u003Cp\u003EThis project integrates the site with the \u003Ca href=\u0022https:\/\/tagmanager.google.com\/\u0022 rel=\u0022nofollow\u0022\u003EGoogle Tag Manager\u003C\/a\u003E (GTM) application. GTM allows you to deploy analytics and measurement tag configurations from a web-based user interface (hosted by Google) instead of requiring administrative access to your website.\u003C\/p\u003E\n\u003Cp\u003ETo use the module, sign up for GTM and obtain a \u0022container ID\u0022 for your website. For development purposes, create a GTM environment for your website.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003ECRITICAL NOTES for releases 8.x-1.3+\u003C\/strong\u003E\u003Cbr\u003E\nIf the site enables other modules that implement condition plugins (e.g. ctools, rules, webform), then it will most likely be necessary to apply the core patch from issue \u00273114467\u0027 (link intentionally omitted).\u003C\/p\u003E\n\u003Cp\u003EIf Drush commands are run as a user other than the web user, then do NOT enable the \u003Cstrong\u003Erecreate snippets on cache rebuild\u003C\/strong\u003E module setting unless the web user has permission to delete files created by the Drush user. This setting will be disabled by default beginning with release 8.x-1.6.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EFeatures in 8.x and 7.x-2.x branches\u003C\/strong\u003E\u003Cbr\u003E\nThese branches support multiple containers. From the container management page, add a container and enter the \u0022container ID\u0022 and \u0022environment ID\u0022 on the container form. You may also configure the conditions on which the tags are inserted on a page response. Conditions exist for: request path, user role, response status,  domain, and language. The latter two require the domain and language (8.x) or locale (7.x) modules, respectively.\u003C\/p\u003E\n\u003Cp\u003EIn addition, other modules may also define and implement additional conditions using the condition plugin architecture in 8.x or the exposed hooks in 7.x (see the api.php file). Alternatively, other modules can implement hook_google_tag_insert_alter() to apply additional conditions on the containers inserted on a page response.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EAdditional features in 7.x-2.x branch\u003C\/strong\u003E\u003Cbr\u003E\nThe 7.x-2.x branch also provides a variable realm condition. The realm condition may be used to filter the containers by realm, such as language and domain. This feature requires the variable_realm and variable_store modules to be enabled and configured.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EFeatures in 7.x-1.x branch\u003C\/strong\u003E\u003Cbr\u003E\nThis branch implements the Variable API, so that settings may be separately configured by realm, thus enabling support for multiple languages and domains.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EFalse positives from Google Search Console\u003C\/strong\u003E\u003Cbr\u003E\nIf you attempt to verify your site for GTM using the Google Search Console, be aware the Google tool will return false positive results. For example, the tool will indicate the \u0022noscript\u0022 snippet  needs to be placed \u0022immediately\u0022 after the opening body tag. (NOTE: The module places the snippet as close to the body tag as can be done using standard Drupal hooks.) Verification using this tool may fail but the JavaScript works properly and tags will be added to the page and fired as defined in your GTM account. If you want this snippet immediately after body tag, then modify the theme template file (html.tpl.php for Drupal 7, html.html.twig for Drupal 8), as it controls how close the snippet will be to the body tag.\u003C\/p\u003E","summary":""},"field_active_installs":"{\u00228.x-1.x\u0022:21945,\u00222.0.x\u0022:69021}","field_active_installs_total":90966,"field_composer_namespace":"drupal\/google_tag","field_core_semver_maximum":12000000,"field_core_semver_minimum":8000000,"field_issue_summary_template":null,"field_logo_url":{"uri":"https:\/\/git.drupalcode.org\/project\/google_tag\/-\/avatar","title":null,"options":[]},"field_project_has_releases":true,"field_project_machine_name":"google_tag","field_security_advisory_coverage":"covered"},"relationships":{"uid":{"data":{"type":"user--user","id":"079d65be-a9ed-45c6-9c59-f69f5158146f","meta":{"drupal_internal__target_id":1231722}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/30e52acd-5cc7-45a6-90d0-015b46fc0eab\/uid?resourceVersion=id%3A20029853"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/30e52acd-5cc7-45a6-90d0-015b46fc0eab\/relationships\/uid?resourceVersion=id%3A20029853"}}},"field_development_status":{"data":{"type":"taxonomy_term--development_status","id":"e767288c-9800-4fb4-aeb8-8c311533838a","meta":{"drupal_internal__target_id":27274}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/30e52acd-5cc7-45a6-90d0-015b46fc0eab\/field_development_status?resourceVersion=id%3A20029853"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/30e52acd-5cc7-45a6-90d0-015b46fc0eab\/relationships\/field_development_status?resourceVersion=id%3A20029853"}}},"field_maintenance_status":{"data":{"type":"taxonomy_term--maintenance_status","id":"089406ad-304d-4737-80d1-2f08527ae49e","meta":{"drupal_internal__target_id":27271}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/30e52acd-5cc7-45a6-90d0-015b46fc0eab\/field_maintenance_status?resourceVersion=id%3A20029853"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/30e52acd-5cc7-45a6-90d0-015b46fc0eab\/relationships\/field_maintenance_status?resourceVersion=id%3A20029853"}}},"field_module_categories":{"data":[{"type":"taxonomy_term--module_categories","id":"3322058a-a158-4806-ac5b-9bcabc95edac","meta":{"drupal_internal__target_id":185}}],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/30e52acd-5cc7-45a6-90d0-015b46fc0eab\/field_module_categories?resourceVersion=id%3A20029853"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/30e52acd-5cc7-45a6-90d0-015b46fc0eab\/relationships\/field_module_categories?resourceVersion=id%3A20029853"}}},"field_project_images":{"data":[{"type":"file--file","id":"0c87f964-9ec1-44f0-a5ee-5988c1fd1691","meta":{"alt":"","title":null,"width":1250,"height":969,"drupal_internal__target_id":28224}}],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/30e52acd-5cc7-45a6-90d0-015b46fc0eab\/field_project_images?resourceVersion=id%3A20029853"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/30e52acd-5cc7-45a6-90d0-015b46fc0eab\/relationships\/field_project_images?resourceVersion=id%3A20029853"}}}}},{"type":"node--project_module","id":"6d69e847-c6aa-495b-9215-f7e61a0fea27","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/6d69e847-c6aa-495b-9215-f7e61a0fea27?resourceVersion=id%3A20028885"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/6d69e847-c6aa-495b-9215-f7e61a0fea27?resourceVersion=rel%3Aworking-copy"}},"attributes":{"drupal_internal__nid":2144115,"status":true,"title":"Focal Point","created":"2013-11-26T03:03:08+00:00","changed":"2026-04-07T05:20:02+00:00","moderation_state":null,"body":{"value":"\u003Ch2\u003EABOUT\u003C\/h2\u003E\r\nFocal Point allows you to specify the portion of an image that is most important. This information can be used when the image is cropped or cropped and scaled so that you don\u0027t, for example, end up with an image that cuts off the subject\u0027s head.\r\n\r\n\u003Ch2\u003EDEPENDENCIES\u003C\/h2\u003E\r\n\u003Cdl\u003E\r\n  \u003Cdt\u003EDrupal 8\u003C\/dt\u003E\r\n    \u003Cdd\u003E\u003Ca href=\u0022\/project\/crop\u0022\u003ECrop API\u003C\/a\u003E\u003C\/dd\u003E\r\n    \u003Cdd\u003EImage (from Core)\u003C\/dd\u003E\r\n  \u003Cdt\u003EDrupal 7\u003C\/dt\u003E\r\n    \u003Cdd\u003E\u003Ca href=\u0022\/project\/entity\u0022\u003EEntity\u003C\/a\u003E\u003C\/dd\u003E \r\n    \u003Cdd\u003EImage (from Core)\u003C\/dd\u003E\r\n\u003C\/dl\u003E\r\n\r\n\u003Ch2\u003EUSAGE\u003C\/h2\u003E\r\nThanks to the folks at \u003Ca href=\u0022https:\/\/evolvingweb.ca\u0022\u003EEvolving Web\u003C\/a\u003E there is a \u003Ca href=\u0022https:\/\/www.youtube.com\/watch?v=VomfkogYOjc\u0022\u003Egreat tutorial\u003C\/a\u003E that shows you exactly how to set up Focal Point. \r\n\r\n\u003Ch3\u003ESTEP 1: Set up your image fields\u003C\/h3\u003E\r\n\u003Ch4\u003EFor D8...\u003C\/h4\u003E\r\nInstall the module as usual. Once enabled you will have a shiny new image field widget called \u0022Image (Focal Point)\u0022. Using this widget will allow your content editors to set the focal point at the desired position on the image (see below). \r\n\r\n\u003Ch4\u003EFor D7...\u003C\/h4\u003E\r\nInstall the module as usual. Once enabled all standard image fields will allow users to set a focal point by default. The D7 version also supports media image fields if you are using the \u003Ca href=\u0022\/project\/media\u0022\u003EMedia module\u003C\/a\u003E ( \u003E= 7.x-2.x). \r\n\r\n\r\n\u003Ch3\u003ESTEP 2: Set the focal point for an image\u003C\/h3\u003E\r\n\r\nTo set the focal point on an image, go to the content edit form (ex. the node edit form) and upload an image. You will notice a crosshair in the middle of the newly uploaded image. Drag this crosshair to the most important part of your image. Alternatively you can click on the important part of your image if dragging seems too daunting.\r\n\r\nAs a bonus, you can double-click the crosshair to see the exact coordinates (in percentages) of the focal point.\r\n\r\n\u003Ch3\u003ESTEP 3: Setup an image style to crop your image\u003C\/h3\u003E\r\nThe focal point module comes with two image effects:\r\n\u003Cul\u003E\r\n  \u003Cli\u003Efocal point crop\u003C\/li\u003E\r\n  \u003Cli\u003Efocal point crop and scale\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\nBoth effects will ensure that the user-defined focal point is as close to the center of your cropped image as possible. It guarantees the focal point will be not be cropped out of your image and that the image size will be the specified size.","format":"1","processed":"\u003Cdiv class=\u0022toc-filter\u0022\u003E\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\n\n\u003Ch2 id=\u0022about\u0022\u003EABOUT\u003C\/h2\u003E\n\u003Cp\u003EFocal Point allows you to specify the portion of an image that is most important. This information can be used when the image is cropped or cropped and scaled so that you don\u0027t, for example, end up with an image that cuts off the subject\u0027s head.\u003C\/p\u003E\n\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\n\n\u003Ch2 id=\u0022dependencies\u0022\u003EDEPENDENCIES\u003C\/h2\u003E\n\u003Cdl\u003E\n\u003Cdt\u003EDrupal 8\u003C\/dt\u003E\n\u003Cdd\u003E\u003Ca href=\u0022\/project\/crop\u0022 rel=\u0022nofollow\u0022\u003ECrop API\u003C\/a\u003E\u003C\/dd\u003E\n\u003Cdd\u003EImage (from Core)\u003C\/dd\u003E\n\u003Cdt\u003EDrupal 7\u003C\/dt\u003E\n\u003Cdd\u003E\u003Ca href=\u0022\/project\/entity\u0022 rel=\u0022nofollow\u0022\u003EEntity\u003C\/a\u003E\u003C\/dd\u003E\n\u003Cdd\u003EImage (from Core)\u003C\/dd\u003E\n\u003C\/dl\u003E\n\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\n\n\u003Ch2 id=\u0022usage\u0022\u003EUSAGE\u003C\/h2\u003E\n\u003Cp\u003EThanks to the folks at \u003Ca href=\u0022https:\/\/evolvingweb.ca\u0022 rel=\u0022nofollow\u0022\u003EEvolving Web\u003C\/a\u003E there is a \u003Ca href=\u0022https:\/\/www.youtube.com\/watch?v=VomfkogYOjc\u0022 rel=\u0022nofollow\u0022\u003Egreat tutorial\u003C\/a\u003E that shows you exactly how to set up Focal Point. \u003C\/p\u003E\n\u003Ch3 id=\u0022step-1-set-up-your-image-fields\u0022\u003ESTEP 1: Set up your image fields\u003C\/h3\u003E\n\u003Ch4 id=\u0022for-d8\u0022\u003EFor D8...\u003C\/h4\u003E\n\u003Cp\u003EInstall the module as usual. Once enabled you will have a shiny new image field widget called \u0022Image (Focal Point)\u0022. Using this widget will allow your content editors to set the focal point at the desired position on the image (see below). \u003C\/p\u003E\n\u003Ch4 id=\u0022for-d7\u0022\u003EFor D7...\u003C\/h4\u003E\n\u003Cp\u003EInstall the module as usual. Once enabled all standard image fields will allow users to set a focal point by default. The D7 version also supports media image fields if you are using the \u003Ca href=\u0022\/project\/media\u0022 rel=\u0022nofollow\u0022\u003EMedia module\u003C\/a\u003E ( \u0026gt;= 7.x-2.x). \u003C\/p\u003E\n\u003Ch3 id=\u0022step-2-set-the-focal-point-for-an-image\u0022\u003ESTEP 2: Set the focal point for an image\u003C\/h3\u003E\n\u003Cp\u003ETo set the focal point on an image, go to the content edit form (ex. the node edit form) and upload an image. You will notice a crosshair in the middle of the newly uploaded image. Drag this crosshair to the most important part of your image. Alternatively you can click on the important part of your image if dragging seems too daunting.\u003C\/p\u003E\n\u003Cp\u003EAs a bonus, you can double-click the crosshair to see the exact coordinates (in percentages) of the focal point.\u003C\/p\u003E\n\u003Ch3 id=\u0022step-3-setup-an-image-style-to-crop-your-image\u0022\u003ESTEP 3: Setup an image style to crop your image\u003C\/h3\u003E\n\u003Cp\u003EThe focal point module comes with two image effects:\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003Efocal point crop\u003C\/li\u003E\n\u003Cli\u003Efocal point crop and scale\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Cp\u003EBoth effects will ensure that the user-defined focal point is as close to the center of your cropped image as possible. It guarantees the focal point will be not be cropped out of your image and that the image size will be the specified size.\u003C\/p\u003E\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\u003C\/div\u003E","summary":""},"field_active_installs":"{\u00228.x-1.x\u0022:7064,\u00222.x\u0022:12,\u00222.0.x\u0022:4691,\u00222.1.x\u0022:78811}","field_active_installs_total":90578,"field_composer_namespace":"drupal\/focal_point","field_core_semver_maximum":12000000,"field_core_semver_minimum":8000000,"field_issue_summary_template":null,"field_logo_url":null,"field_project_has_releases":true,"field_project_machine_name":"focal_point","field_security_advisory_coverage":"covered"},"relationships":{"uid":{"data":{"type":"user--user","id":"4e809440-75b7-4ca9-b1d9-11fb32fe8280","meta":{"drupal_internal__target_id":77375}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/6d69e847-c6aa-495b-9215-f7e61a0fea27\/uid?resourceVersion=id%3A20028885"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/6d69e847-c6aa-495b-9215-f7e61a0fea27\/relationships\/uid?resourceVersion=id%3A20028885"}}},"field_development_status":{"data":{"type":"taxonomy_term--development_status","id":"e767288c-9800-4fb4-aeb8-8c311533838a","meta":{"drupal_internal__target_id":27274}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/6d69e847-c6aa-495b-9215-f7e61a0fea27\/field_development_status?resourceVersion=id%3A20028885"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/6d69e847-c6aa-495b-9215-f7e61a0fea27\/relationships\/field_development_status?resourceVersion=id%3A20028885"}}},"field_maintenance_status":{"data":{"type":"taxonomy_term--maintenance_status","id":"089406ad-304d-4737-80d1-2f08527ae49e","meta":{"drupal_internal__target_id":27271}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/6d69e847-c6aa-495b-9215-f7e61a0fea27\/field_maintenance_status?resourceVersion=id%3A20028885"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/6d69e847-c6aa-495b-9215-f7e61a0fea27\/relationships\/field_maintenance_status?resourceVersion=id%3A20028885"}}},"field_module_categories":{"data":[{"type":"taxonomy_term--module_categories","id":"86237004-3801-40cf-96b5-fe7d60efccb5","meta":{"drupal_internal__target_id":187}},{"type":"taxonomy_term--module_categories","id":"754c04cb-6da2-42ba-9032-d64307f68f45","meta":{"drupal_internal__target_id":188}},{"type":"taxonomy_term--module_categories","id":"68428c33-1db7-438d-b1b3-e23004e0982b","meta":{"drupal_internal__target_id":192}}],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/6d69e847-c6aa-495b-9215-f7e61a0fea27\/field_module_categories?resourceVersion=id%3A20028885"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/6d69e847-c6aa-495b-9215-f7e61a0fea27\/relationships\/field_module_categories?resourceVersion=id%3A20028885"}}},"field_project_images":{"data":[{"type":"file--file","id":"dc3950dc-4883-408c-937e-fde99ac8ea0f","meta":{"alt":"","title":null,"width":260,"height":230,"drupal_internal__target_id":12568}}],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/6d69e847-c6aa-495b-9215-f7e61a0fea27\/field_project_images?resourceVersion=id%3A20028885"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/6d69e847-c6aa-495b-9215-f7e61a0fea27\/relationships\/field_project_images?resourceVersion=id%3A20028885"}}}}},{"type":"node--project_module","id":"bb0d0112-1b84-40b5-802e-cb360c39c6be","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/bb0d0112-1b84-40b5-802e-cb360c39c6be?resourceVersion=id%3A20010165"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/bb0d0112-1b84-40b5-802e-cb360c39c6be?resourceVersion=rel%3Aworking-copy"}},"attributes":{"drupal_internal__nid":626176,"status":true,"title":"Entity API","created":"2009-11-07T13:37:09+00:00","changed":"2026-04-07T05:20:02+00:00","moderation_state":null,"body":{"value":"This module extends the entity API of Drupal core in order to provide a unified way to deal with entities and their properties. Additionally, it provides an entity CRUD controller, which helps simplifying the creation of new entity types.\r\n\r\n\u003Ch3\u003ERequirements\u003C\/h3\u003E\r\n\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Cb\u003EDrupal 7.2\u003C\/b\u003E or later; suggested Drupal \u003E= 7.15\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\u003Ch3\u003EDocumentation\u003C\/h3\u003E\r\n You can find documentation in the \u003Ca href=\u0022http:\/\/drupal.org\/node\/878784\u0022\u003Ehandbooks\u003C\/a\u003E. Also check the \u003Ca href=\u0022http:\/\/drupalcode.org\/project\/entity.git\/blob\/refs\/heads\/7.x-1.x:\/README.txt\u0022\u003EREADME\u003C\/a\u003E and the provided API docs in \u003Ca href=\u0022http:\/\/drupalcode.org\/project\/entity.git\/blob\/refs\/heads\/7.x-1.x:\/entity.api.php\u0022\u003E\u003Ccode\u003Eentity.api.php\u003C\/code\u003E\u003C\/a\u003E.\r\n\r\n\u003Ch3\u003EOverview\u003C\/h3\u003E\r\n\u003Ch4\u003EFor site-builders\u003C\/h4\u003E\r\nThis is an API module, so it doesn\u0027t provide any end-user features. However, it provides some entity generic functionality to other modules that site-builders may leverage:\r\n\u003Cul\u003E\r\n  \u003Cli\u003EA Views display plugin and field to render or link to any entity (by view-mode)\u003C\/li\u003E\r\n  \u003Cli\u003EA CTools content plugin to render any entity (by view-mode)\u003C\/li\u003E\r\n  \u003Cli\u003EIt ships with the \u003Cem\u003EEntity tokens\u003C\/em\u003E module which makes sure there are tokens for most entity properties and fields, i.e. it provides token replacements for all entity properties (or fields) that have no tokens and are known to the entity module (read about the entity property info API below).\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\u003Ch4\u003EFor developers\u003C\/h4\u003E\r\n\u003Cul\u003E\u003Cli\u003E\r\nThe module provides API functions allowing modules to create, save, delete, view or to determine access for any entity, i.e. \u003Ccode\u003Eentity_create()\u003C\/code\u003E, \u003Ccode\u003Eentity_save()\u003C\/code\u003E, \u003Ccode\u003Eentity_delete()\u003C\/code\u003E, \u003Ccode\u003Eentity_view()\u003C\/code\u003E and \u003Ccode\u003Eentity_access()\u003C\/code\u003E.\r\n\u003C\/li\u003E\r\n\u003Cli\u003E\r\nThe entity API introduces a unique place for metadata about entity relationships and entity properties: \u003Ccode\u003Ehook_entity_property_info()\u003C\/code\u003E. This information about entity properties contains the data type and callbacks  for how to get and set the data of a property. Modules may rely on this information in order to support any entity property, e.g. \u003Ca href=\u0022\/project\/rules\u0022\u003ERules\u003C\/a\u003E and the \u003Ca href=\u0022\/project\/search_api\u0022\u003ESearch API\u003C\/a\u003E build upon that.\r\n\u003C\/li\u003E\r\n\u003Cli\u003EFurthermore the module provides \u003Cb\u003Edata wrappers\u003C\/b\u003E that make use of the available information to provide a simple and unified access to entities and their properties. For usage examples have a look at the \u003Ca href=\u0022http:\/\/drupalcode.org\/project\/entity.git\/blob\/refs\/heads\/7.x-1.x:\/README.txt\u0022\u003EREADME\u003C\/a\u003E or the provided tests.\u003C\/li\u003E\r\n\r\n\u003Cli\u003EBeside that, the module helps you defining a new entity type. For that, it provides an entity controller, which implements full CRUD functionality for your entities. Optionally, entities may be created based on classes derived from the provided \u003Ccode\u003EEntity\u003C\/code\u003E class.\u003C\/li\u003E\r\n\u003Cli\u003E\r\nThe entity API cares about creating \u003Cb\u003Efieldable\u003C\/b\u003E, optionally revisionable entities as well as \u003Cb\u003Eexportable\u003C\/b\u003E entities. Additionally it supports implementing bundle entities, i.e. bundle objects (like node types) for fieldable entities implemented as (exportable) entities, for which the appropriate field API callbacks get automatically invoked.\r\n\u003C\/li\u003E\r\n\u003Cli\u003E\r\nFor entity types implemented based upon the provided CRUD API the API is providing additional module integration too, i.e. \u003Ca href=\u0022\/project\/rules\u0022\u003ERules\u003C\/a\u003E events are provided for all CRUD-related hooks, some basic entity property information for \u003Ccode\u003Ehook_entity_property_info()\u003C\/code\u003E is provided and exportable entities are automatically integrated with the \u003Ca href=\u0022\/project\/features\u0022\u003EFeatures\u003C\/a\u003E module.\r\nThese module integrations are implemented in separate controller classes, which may be separately overridden or enabled\/deactivated.\r\n\u003C\/li\u003E\r\n\u003Cli\u003E\r\nOptionally, the entity API also helps providing an administrative interface for managing entities, e.g. the UI for managing profile types of \u003Ca href=\u0022\/project\/profile2\u0022\u003EProfile 2\u003C\/a\u003E is built with that.\r\n\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\u003Ca name=\u0022note\u0022\u003E\u003C\/a\u003E\r\n\u003Ch3\u003EChanges\u003C\/h3\u003E\r\nPlease consult the \u003Ca href=\u0022http:\/\/drupal.org\/list-changes\/entity\u0022\u003Echange records\u003C\/a\u003E in order to get a list of important changes - applicable to site builders and developers! Do not forget to run \u003Cem\u003Eupdate.php\u003C\/em\u003E after updating.\r\n\r\n\u003Cstrong\u003ECompatibility note\u003C\/strong\u003E: If the \u003Ca href=\u0022\/project\/i18n\u0022\u003Ei18n\u003C\/a\u003E Translation Sets module (i18n_translation) is used, an i18n version of 1.5 or later is required!\r\n\r\n\u003Ch3\u003EDrupal 8\u003C\/h3\u003E\r\n\u003Cul\u003E\r\n  \u003Cli\u003EThe Drupal 8 core Entity API is significantly improved, so most of the features provided by the Drupal 7 version are already present in Drupal core.\u003C\/li\u003E\r\n  \u003Cli\u003EThe Drupal 8 version of the Entity API module is used for improvements to Drupal 8\u0027s Entity API which will be moved to Drupal core one day (development ongoing)\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\u003Ch3\u003ECredits\u003C\/h3\u003E\r\nThe project has been sponsored by\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Ca href=\u0022http:\/\/drunomics.com\u0022\u003Edrunomics\u003C\/a\u003E\u003C\/li\u003E\r\n \u003Cli\u003E\u003Ca href=\u0022http:\/\/epiqo.com\u0022\u003Eepiqo\u003C\/a\u003E\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\u003Ch3\u003EMaintainer\u003C\/h3\u003E\r\n\u003Cul\u003E\r\n \u003Cli\u003E\u003Ca href=\u0022\/user\/16747\u0022\u003EWolfgang Ziegler (fago)\u003C\/a\u003E\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n","format":"1","processed":"\u003Cdiv class=\u0022toc-filter\u0022\u003E\u003Cp\u003EThis module extends the entity API of Drupal core in order to provide a unified way to deal with entities and their properties. Additionally, it provides an entity CRUD controller, which helps simplifying the creation of new entity types.\u003C\/p\u003E\n\u003Ch3 id=\u0022requirements\u0022\u003ERequirements\u003C\/h3\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Cb\u003EDrupal 7.2\u003C\/b\u003E or later; suggested Drupal \u0026gt;= 7.15\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Ch3 id=\u0022documentation\u0022\u003EDocumentation\u003C\/h3\u003E\n\u003Cp\u003E You can find documentation in the \u003Ca href=\u0022http:\/\/drupal.org\/node\/878784\u0022 rel=\u0022nofollow\u0022\u003Ehandbooks\u003C\/a\u003E. Also check the \u003Ca href=\u0022http:\/\/drupalcode.org\/project\/entity.git\/blob\/refs\/heads\/7.x-1.x:\/README.txt\u0022 rel=\u0022nofollow\u0022\u003EREADME\u003C\/a\u003E and the provided API docs in \u003Ca href=\u0022http:\/\/drupalcode.org\/project\/entity.git\/blob\/refs\/heads\/7.x-1.x:\/entity.api.php\u0022 rel=\u0022nofollow\u0022\u003E\u003Ccode\u003Eentity.api.php\u003C\/code\u003E\u003C\/a\u003E.\u003C\/p\u003E\n\u003Ch3 id=\u0022overview\u0022\u003EOverview\u003C\/h3\u003E\n\u003Ch4 id=\u0022for-site-builders\u0022\u003EFor site-builders\u003C\/h4\u003E\n\u003Cp\u003EThis is an API module, so it doesn\u0027t provide any end-user features. However, it provides some entity generic functionality to other modules that site-builders may leverage:\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003EA Views display plugin and field to render or link to any entity (by view-mode)\u003C\/li\u003E\n\u003Cli\u003EA CTools content plugin to render any entity (by view-mode)\u003C\/li\u003E\n\u003Cli\u003EIt ships with the \u003Cem\u003EEntity tokens\u003C\/em\u003E module which makes sure there are tokens for most entity properties and fields, i.e. it provides token replacements for all entity properties (or fields) that have no tokens and are known to the entity module (read about the entity property info API below).\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Ch4 id=\u0022for-developers\u0022\u003EFor developers\u003C\/h4\u003E\n\u003Cul\u003E\n\u003Cli\u003E\nThe module provides API functions allowing modules to create, save, delete, view or to determine access for any entity, i.e. \u003Ccode\u003Eentity_create()\u003C\/code\u003E, \u003Ccode\u003Eentity_save()\u003C\/code\u003E, \u003Ccode\u003Eentity_delete()\u003C\/code\u003E, \u003Ccode\u003Eentity_view()\u003C\/code\u003E and \u003Ccode\u003Eentity_access()\u003C\/code\u003E.\n\u003C\/li\u003E\n\u003Cli\u003E\nThe entity API introduces a unique place for metadata about entity relationships and entity properties: \u003Ccode\u003Ehook_entity_property_info()\u003C\/code\u003E. This information about entity properties contains the data type and callbacks  for how to get and set the data of a property. Modules may rely on this information in order to support any entity property, e.g. \u003Ca href=\u0022\/project\/rules\u0022 rel=\u0022nofollow\u0022\u003ERules\u003C\/a\u003E and the \u003Ca href=\u0022\/project\/search_api\u0022 rel=\u0022nofollow\u0022\u003ESearch API\u003C\/a\u003E build upon that.\n\u003C\/li\u003E\n\u003Cli\u003EFurthermore the module provides \u003Cb\u003Edata wrappers\u003C\/b\u003E that make use of the available information to provide a simple and unified access to entities and their properties. For usage examples have a look at the \u003Ca href=\u0022http:\/\/drupalcode.org\/project\/entity.git\/blob\/refs\/heads\/7.x-1.x:\/README.txt\u0022 rel=\u0022nofollow\u0022\u003EREADME\u003C\/a\u003E or the provided tests.\u003C\/li\u003E\n\u003Cli\u003EBeside that, the module helps you defining a new entity type. For that, it provides an entity controller, which implements full CRUD functionality for your entities. Optionally, entities may be created based on classes derived from the provided \u003Ccode\u003EEntity\u003C\/code\u003E class.\u003C\/li\u003E\n\u003Cli\u003E\nThe entity API cares about creating \u003Cb\u003Efieldable\u003C\/b\u003E, optionally revisionable entities as well as \u003Cb\u003Eexportable\u003C\/b\u003E entities. Additionally it supports implementing bundle entities, i.e. bundle objects (like node types) for fieldable entities implemented as (exportable) entities, for which the appropriate field API callbacks get automatically invoked.\n\u003C\/li\u003E\n\u003Cli\u003E\nFor entity types implemented based upon the provided CRUD API the API is providing additional module integration too, i.e. \u003Ca href=\u0022\/project\/rules\u0022 rel=\u0022nofollow\u0022\u003ERules\u003C\/a\u003E events are provided for all CRUD-related hooks, some basic entity property information for \u003Ccode\u003Ehook_entity_property_info()\u003C\/code\u003E is provided and exportable entities are automatically integrated with the \u003Ca href=\u0022\/project\/features\u0022 rel=\u0022nofollow\u0022\u003EFeatures\u003C\/a\u003E module.\u003Cbr\u003E\nThese module integrations are implemented in separate controller classes, which may be separately overridden or enabled\/deactivated.\n\u003C\/li\u003E\n\u003Cli\u003E\nOptionally, the entity API also helps providing an administrative interface for managing entities, e.g. the UI for managing profile types of \u003Ca href=\u0022\/project\/profile2\u0022 rel=\u0022nofollow\u0022\u003EProfile 2\u003C\/a\u003E is built with that.\n\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Cp\u003E\u003Ca rel=\u0022nofollow\u0022\u003E\u003C\/a\u003E\u003C\/p\u003E\n\u003Ch3 id=\u0022changes\u0022\u003EChanges\u003C\/h3\u003E\n\u003Cp\u003EPlease consult the \u003Ca href=\u0022http:\/\/drupal.org\/list-changes\/entity\u0022 rel=\u0022nofollow\u0022\u003Echange records\u003C\/a\u003E in order to get a list of important changes - applicable to site builders and developers! Do not forget to run \u003Cem\u003Eupdate.php\u003C\/em\u003E after updating.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003ECompatibility note\u003C\/strong\u003E: If the \u003Ca href=\u0022\/project\/i18n\u0022 rel=\u0022nofollow\u0022\u003Ei18n\u003C\/a\u003E Translation Sets module (i18n_translation) is used, an i18n version of 1.5 or later is required!\u003C\/p\u003E\n\u003Ch3 id=\u0022drupal-8\u0022\u003EDrupal 8\u003C\/h3\u003E\n\u003Cul\u003E\n\u003Cli\u003EThe Drupal 8 core Entity API is significantly improved, so most of the features provided by the Drupal 7 version are already present in Drupal core.\u003C\/li\u003E\n\u003Cli\u003EThe Drupal 8 version of the Entity API module is used for improvements to Drupal 8\u0027s Entity API which will be moved to Drupal core one day (development ongoing)\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Ch3 id=\u0022credits\u0022\u003ECredits\u003C\/h3\u003E\n\u003Cp\u003EThe project has been sponsored by\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\u0022http:\/\/drunomics.com\u0022 rel=\u0022nofollow\u0022\u003Edrunomics\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022http:\/\/epiqo.com\u0022 rel=\u0022nofollow\u0022\u003Eepiqo\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Ch3 id=\u0022maintainer\u0022\u003EMaintainer\u003C\/h3\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\u0022\/user\/16747\u0022 rel=\u0022nofollow\u0022\u003EWolfgang Ziegler (fago)\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\u003C\/div\u003E","summary":"This module extends the entity API of Drupal core in order to provide a unified way to deal with entities and their properties. Additionally, it provides an entity CRUD controller, which helps simplifying the creation of new entity types.\r\n\r\n\u003Ch3\u003ERequirements\u003C\/h3\u003E\r\n\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Cb\u003EDrupal 7.2\u003C\/b\u003E or later; suggested Drupal \u003E= 7.15\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\u003Ch3\u003EDocumentation\u003C\/h3\u003E\r\n You can find documentation in the \u003Ca href=\u0022http:\/\/drupal.org\/node\/878784\u0022\u003Ehandbooks\u003C\/a\u003E. Also check the \u003Ca href=\u0022http:\/\/drupalcode.org\/project\/entity.git\/blob\/refs\/heads\/7.x-1.x:\/README.txt\u0022\u003EREADME\u003C\/a\u003E and the provided API docs in \u003Ca href=\u0022http:\/\/drupalcode.org\/project\/entity.git\/blob\/refs\/heads\/7.x-1.x:\/entity.api.php\u0022\u003E\u003Ccode\u003Eentity.api.php\u003C\/code\u003E\u003C\/a\u003E.\r\n\r\n\u003Ch3\u003EOverview\u003C\/h3\u003E\r\n\u003Ch4\u003EFor site-builders\u003C\/h4\u003E\r\nThis is an API module, so it doesn\u0027t provide any end-user features. However, it provides some entity generic functionality to other modules that site-builders may leverage:\r\n\u003Cul\u003E\r\n  \u003Cli\u003EA Views display plugin and field to render or link to any entity (by view-mode)\u003C\/li\u003E\r\n  \u003Cli\u003EA CTools content plugin to render any entity (by view-mode)\u003C\/li\u003E\r\n"},"field_active_installs":"{\u00228.x-1.x\u0022:90428}","field_active_installs_total":90428,"field_composer_namespace":"drupal\/entity","field_core_semver_maximum":12000000,"field_core_semver_minimum":8000000,"field_issue_summary_template":null,"field_logo_url":null,"field_project_has_releases":true,"field_project_machine_name":"entity","field_security_advisory_coverage":"covered"},"relationships":{"uid":{"data":{"type":"user--user","id":"3519ba1b-5fd7-4447-a792-29a83a19ce20","meta":{"drupal_internal__target_id":16747}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/bb0d0112-1b84-40b5-802e-cb360c39c6be\/uid?resourceVersion=id%3A20010165"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/bb0d0112-1b84-40b5-802e-cb360c39c6be\/relationships\/uid?resourceVersion=id%3A20010165"}}},"field_development_status":{"data":{"type":"taxonomy_term--development_status","id":"e767288c-9800-4fb4-aeb8-8c311533838a","meta":{"drupal_internal__target_id":27274}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/bb0d0112-1b84-40b5-802e-cb360c39c6be\/field_development_status?resourceVersion=id%3A20010165"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/bb0d0112-1b84-40b5-802e-cb360c39c6be\/relationships\/field_development_status?resourceVersion=id%3A20010165"}}},"field_maintenance_status":{"data":{"type":"taxonomy_term--maintenance_status","id":"089406ad-304d-4737-80d1-2f08527ae49e","meta":{"drupal_internal__target_id":27271}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/bb0d0112-1b84-40b5-802e-cb360c39c6be\/field_maintenance_status?resourceVersion=id%3A20010165"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/bb0d0112-1b84-40b5-802e-cb360c39c6be\/relationships\/field_maintenance_status?resourceVersion=id%3A20010165"}}},"field_module_categories":{"data":[],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/bb0d0112-1b84-40b5-802e-cb360c39c6be\/field_module_categories?resourceVersion=id%3A20010165"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/bb0d0112-1b84-40b5-802e-cb360c39c6be\/relationships\/field_module_categories?resourceVersion=id%3A20010165"}}},"field_project_images":{"data":[],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/bb0d0112-1b84-40b5-802e-cb360c39c6be\/field_project_images?resourceVersion=id%3A20010165"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/bb0d0112-1b84-40b5-802e-cb360c39c6be\/relationships\/field_project_images?resourceVersion=id%3A20010165"}}}}},{"type":"node--project_module","id":"f4d8830b-ea04-4ebb-a8e6-3660e7f84fbb","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/f4d8830b-ea04-4ebb-a8e6-3660e7f84fbb?resourceVersion=id%3A20005815"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/f4d8830b-ea04-4ebb-a8e6-3660e7f84fbb?resourceVersion=rel%3Aworking-copy"}},"attributes":{"drupal_internal__nid":79477,"status":true,"title":"IMCE","created":"2006-08-19T02:06:25+00:00","changed":"2026-04-07T05:20:02+00:00","moderation_state":null,"body":{"value":"IMCE is a file manager featuring personal directories and quotas.\r\n\r\n\u003Ch3\u003EFeatures\u003C\/h3\u003E\r\n\u003Cul\u003E\r\n  \u003Cli\u003EUpload\/delete files, resize images.\u003C\/li\u003E\r\n  \u003Cli\u003ESupport for file systems: private, s3, google\u003C\/li\u003E\r\n  \u003Cli\u003EConfiguration per role: file size\/type, personal directories, quota\u003C\/li\u003E\r\n  \u003Cli\u003EEditor integrations: CKEditor, \u003Ca href=\u0022\/project\/bueditor\u0022\u003EBUEditor\u003C\/a\u003E, plain textareas. See README.txt for instructions.\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\u003Ch3\u003ETheme\/Js issues\u003C\/h3\u003E\r\nEnable \u0022Use admin theme for IMCE paths\u0022 option under Common settings at admin\/config\/media\/imce if you\u0027re experiencing theme issues.\r\n\r\n\u003Ch3\u003ECredits\u003C\/h3\u003E\r\nIMCE logo by \u003Ca href=\u0022\/u\/grienauer\u0022\u003ENico Grienauer (Grienauer)\u003C\/a\u003E.","format":"1","processed":"\u003Cdiv class=\u0022toc-filter\u0022\u003E\u003Cp\u003EIMCE is a file manager featuring personal directories and quotas.\u003C\/p\u003E\n\u003Ch3 id=\u0022features\u0022\u003EFeatures\u003C\/h3\u003E\n\u003Cul\u003E\n\u003Cli\u003EUpload\/delete files, resize images.\u003C\/li\u003E\n\u003Cli\u003ESupport for file systems: private, s3, google\u003C\/li\u003E\n\u003Cli\u003EConfiguration per role: file size\/type, personal directories, quota\u003C\/li\u003E\n\u003Cli\u003EEditor integrations: CKEditor, \u003Ca href=\u0022\/project\/bueditor\u0022 rel=\u0022nofollow\u0022\u003EBUEditor\u003C\/a\u003E, plain textareas. See README.txt for instructions.\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Ch3 id=\u0022theme-js-issues\u0022\u003ETheme\/Js issues\u003C\/h3\u003E\n\u003Cp\u003EEnable \u0022Use admin theme for IMCE paths\u0022 option under Common settings at admin\/config\/media\/imce if you\u0027re experiencing theme issues.\u003C\/p\u003E\n\u003Ch3 id=\u0022credits\u0022\u003ECredits\u003C\/h3\u003E\n\u003Cp\u003EIMCE logo by \u003Ca href=\u0022\/u\/grienauer\u0022 rel=\u0022nofollow\u0022\u003ENico Grienauer (Grienauer)\u003C\/a\u003E.\u003C\/p\u003E\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\u003C\/div\u003E","summary":"A file manager featuring personal directories and quotas."},"field_active_installs":"{\u00228.x-1.x\u0022:5373,\u00228.x-2.x\u0022:15464,\u00223.0.x\u0022:10305,\u00223.x\u0022:1,\u00223.1.x\u0022:58724}","field_active_installs_total":89867,"field_composer_namespace":"drupal\/imce","field_core_semver_maximum":12000000,"field_core_semver_minimum":8000000,"field_issue_summary_template":null,"field_logo_url":{"uri":"https:\/\/git.drupalcode.org\/project\/imce\/-\/avatar","title":null,"options":[]},"field_project_has_releases":true,"field_project_machine_name":"imce","field_security_advisory_coverage":"covered"},"relationships":{"uid":{"data":{"type":"user--user","id":"66dde292-bfd9-479f-932e-25e8c466f2ee","meta":{"drupal_internal__target_id":9910}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/f4d8830b-ea04-4ebb-a8e6-3660e7f84fbb\/uid?resourceVersion=id%3A20005815"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/f4d8830b-ea04-4ebb-a8e6-3660e7f84fbb\/relationships\/uid?resourceVersion=id%3A20005815"}}},"field_development_status":{"data":{"type":"taxonomy_term--development_status","id":"e767288c-9800-4fb4-aeb8-8c311533838a","meta":{"drupal_internal__target_id":27274}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/f4d8830b-ea04-4ebb-a8e6-3660e7f84fbb\/field_development_status?resourceVersion=id%3A20005815"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/f4d8830b-ea04-4ebb-a8e6-3660e7f84fbb\/relationships\/field_development_status?resourceVersion=id%3A20005815"}}},"field_maintenance_status":{"data":{"type":"taxonomy_term--maintenance_status","id":"089406ad-304d-4737-80d1-2f08527ae49e","meta":{"drupal_internal__target_id":27271}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/f4d8830b-ea04-4ebb-a8e6-3660e7f84fbb\/field_maintenance_status?resourceVersion=id%3A20005815"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/f4d8830b-ea04-4ebb-a8e6-3660e7f84fbb\/relationships\/field_maintenance_status?resourceVersion=id%3A20005815"}}},"field_module_categories":{"data":[{"type":"taxonomy_term--module_categories","id":"86237004-3801-40cf-96b5-fe7d60efccb5","meta":{"drupal_internal__target_id":187}},{"type":"taxonomy_term--module_categories","id":"68428c33-1db7-438d-b1b3-e23004e0982b","meta":{"drupal_internal__target_id":192}}],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/f4d8830b-ea04-4ebb-a8e6-3660e7f84fbb\/field_module_categories?resourceVersion=id%3A20005815"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/f4d8830b-ea04-4ebb-a8e6-3660e7f84fbb\/relationships\/field_module_categories?resourceVersion=id%3A20005815"}}},"field_project_images":{"data":[{"type":"file--file","id":"6d0a7960-ebd7-420a-b476-7ed1393e032e","meta":{"alt":"IMCE 3","title":null,"width":1019,"height":883,"drupal_internal__target_id":17218}}],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/f4d8830b-ea04-4ebb-a8e6-3660e7f84fbb\/field_project_images?resourceVersion=id%3A20005815"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/f4d8830b-ea04-4ebb-a8e6-3660e7f84fbb\/relationships\/field_project_images?resourceVersion=id%3A20005815"}}}}},{"type":"node--project_module","id":"22df99a5-711e-494e-af8b-9cc1d73e6a0d","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/22df99a5-711e-494e-af8b-9cc1d73e6a0d?resourceVersion=id%3A20018149"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/22df99a5-711e-494e-af8b-9cc1d73e6a0d?resourceVersion=rel%3Aworking-copy"}},"attributes":{"drupal_internal__nid":1395492,"status":true,"title":"Easy Breadcrumb","created":"2012-01-05T19:57:09+00:00","changed":"2026-04-07T05:20:02+00:00","moderation_state":null,"body":{"value":"The \u003Cstrong\u003EEasy Breadcrumb\u003C\/strong\u003E module updates the core Breadcrumb block to include the current page title in the breadcrumbs. It comes with settings that are common features needed in crumbs.\r\n\r\nBreadcrumbs use the current URL (path alias) and the current page title to build the crumbs. The module is designed to work with no adjustments and it has settings to customize the crumbs.\r\n\r\n\u003Ch3\u003EExample\u003C\/h3\u003E\r\n\r\n\u003Cp\u003EURL: \/gallery\/videos\/kittens\u003C\/p\u003E\r\n\r\n\u003Cp\u003EBreadcrumbs: \u003Ccode\u003EHome \u003E\u003E Gallery \u003E\u003E Videos \u003E\u003E Cute Kittens\u003C\/code\u003E\u003C\/p\u003E \r\n\r\n\u003Ch3\u003ERecommended modules\u003C\/h3\u003E\r\n\u003Cul\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022http:\/\/drupal.org\/project\/pathauto\u0022\u003EPathauto\u003C\/a\u003E\u003C\/li\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/breadcrumb_extra_field\u0022\u003EBreadcrumb Extra field\u003C\/a\u003E\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\u003Ch3\u003EConfiguration\u003C\/h3\u003E \r\n\r\nTo start using it, just go to the admin modules page (URL \u003Cem\u003Eadmin\/modules\/list\u003C\/em\u003E), locate and activate it under the category \u0022others\u0022, then go to the blocks list page (URL \u003Cem\u003Eadmin\/structure\/block\u003C\/em\u003E) and locate the block named \u0022Breadcrumb\u0022, and configure it like any other block (region, URLs, etc.).\r\n\r\nThe configuration page of this module is under \u003Cem\u003EAdmin \u003E Configuration \u003E User Interface \u003E Easy Breadcrumb\u003C\/em\u003E (URL \u003Cem\u003Eadmin\/config\/user-interface\/easy-breadcrumb\u003C\/em\u003E).\r\n\r\n\u003Cul\u003E\r\n\u003Cli\u003EInclude \/ Exclude the current page title as a segment\u003C\/li\u003E\r\n\u003Cli\u003EInclude \/ Exclude on admin paths\u003C\/li\u003E\r\n\u003Cli\u003EAdd JsonLD metadata for breadcrumbs\u003C\/li\u003E\r\n\u003Cli\u003EReplace titles with simple regex\u003C\/li\u003E\r\n\u003Cli\u003EOptionally add the language as a crumb\u003C\/li\u003E\r\n\u003Cli\u003EOptionally include taxonomy hierarchy\u003C\/li\u003E\r\n\u003Cli\u003ETruncate the maximum length of a crumb title\u003C\/li\u003E\r\n\u003Cli\u003EInclude \/ Exclude invalid path alias as plain-text segments\u003C\/li\u003E\r\n\u003Cli\u003EExclude some paths from the segments to be generated\u003C\/li\u003E\r\n\u003Cli\u003EInclude \/ Exclude the front page as a segment in the breadcrumb\u003C\/li\u003E\r\n\u003Cli\u003ECustomize the title of the front page segment in the breadcrumb\u003C\/li\u003E\r\n\u003Cli\u003EUse the real page\u0027s title when it is available instead of deducing it from the URL\u003C\/li\u003E\r\n\u003Cli\u003EPrint the page\u0027s title as a link or as plain-text segment\u003C\/li\u003E\r\n\u003Cli\u003ELimit the total number of crumbs\u003C\/li\u003E\r\n\u003Cli\u003EChoose a transformation mode for the segments\u0027 title\u003C\/li\u003E\r\n\u003Cli\u003EMake the \u0027capitalizator\u0027 ignore some words (words not to be capitalized)\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\u003Ch3\u003EMaintainers\u003C\/h3\u003E\r\n\r\n\u003Cul\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022http:\/\/www.gregboggs.com\u0022 title=\u0022Greg Boggs\u0022\u003EGreg Boggs\u003C\/a\u003E\u003C\/li\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/u\/spuky\u0022\u003EThomas Speer\u003C\/li\u003E\r\n  \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/u\/RenatoG\u0022 title=\u0022Renato\u0022\u003ERenato Gon\u00e7alves\u003C\/a\u003E\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\u003Ch3\u003ECredits\u003C\/h3\u003E\r\n\u003Cp\u003EOriginal author: Roger Padilla Camacho (\u003Ca href=\u0022http:\/\/drupal.org\/user\/1667988\u0022 title=\u0022Roger Padilla\u0022\u003Esonemonu\u003C\/a\u003E) - Drupal 7\u003C\/p\u003E\r\nEasy Breadcrumb Logo by \u003Ca href=\u0022https:\/\/www.drupal.org\/u\/grienauer\u0022\u003ENico Grienauer (Grienauer)\u003C\/a\u003E\r\n\r\n\u003Ch3\u003ESimilar Modules \u003C\/h3\u003E\r\n\u003Cp\u003EEasy Breadcrumb can be mixed and matched with other breadcrumb modules using block visibility settings.\u003C\/p\u003E\r\n\r\n\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/current_page_crumb\u0022\u003ECurrent Page Crumb\u003C\/a\u003E - Add the current page to crumbs with no configuration options.\u003C\/li\u003E\r\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/custom_breadcrumbs\u0022\u003E Custom Breadcrumbs \u003C\/a\u003E - Takes more work to set up, and it has fewer configuration options, but it allows you to build arbitrary crumbs unrelated to the path of the page.\u003C\/li\u003E\r\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/menu_breadcrumb\u0022\u003EMenu Breadcrumb\u003C\/a\u003E - Sets breadcrumbs based entirely on a menu structure and requires putting all content into a menu.\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n","format":"1","processed":"\u003Cdiv class=\u0022toc-filter\u0022\u003E\u003Cp\u003EThe \u003Cstrong\u003EEasy Breadcrumb\u003C\/strong\u003E module updates the core Breadcrumb block to include the current page title in the breadcrumbs. It comes with settings that are common features needed in crumbs.\u003C\/p\u003E\n\u003Cp\u003EBreadcrumbs use the current URL (path alias) and the current page title to build the crumbs. The module is designed to work with no adjustments and it has settings to customize the crumbs.\u003C\/p\u003E\n\u003Ch3 id=\u0022example\u0022\u003EExample\u003C\/h3\u003E\n\u003Cp\u003EURL: \/gallery\/videos\/kittens\u003C\/p\u003E\n\u003Cp\u003EBreadcrumbs: \u003Ccode\u003EHome \u0026gt;\u0026gt; Gallery \u0026gt;\u0026gt; Videos \u0026gt;\u0026gt; Cute Kittens\u003C\/code\u003E\u003C\/p\u003E\n\u003Ch3 id=\u0022recommended-modules\u0022\u003ERecommended modules\u003C\/h3\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\u0022http:\/\/drupal.org\/project\/pathauto\u0022 rel=\u0022nofollow\u0022\u003EPathauto\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/breadcrumb_extra_field\u0022 rel=\u0022nofollow\u0022\u003EBreadcrumb Extra field\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Ch3 id=\u0022configuration\u0022\u003EConfiguration\u003C\/h3\u003E\n\u003Cp\u003ETo start using it, just go to the admin modules page (URL \u003Cem\u003Eadmin\/modules\/list\u003C\/em\u003E), locate and activate it under the category \u0022others\u0022, then go to the blocks list page (URL \u003Cem\u003Eadmin\/structure\/block\u003C\/em\u003E) and locate the block named \u0022Breadcrumb\u0022, and configure it like any other block (region, URLs, etc.).\u003C\/p\u003E\n\u003Cp\u003EThe configuration page of this module is under \u003Cem\u003EAdmin \u0026gt; Configuration \u0026gt; User Interface \u0026gt; Easy Breadcrumb\u003C\/em\u003E (URL \u003Cem\u003Eadmin\/config\/user-interface\/easy-breadcrumb\u003C\/em\u003E).\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003EInclude \/ Exclude the current page title as a segment\u003C\/li\u003E\n\u003Cli\u003EInclude \/ Exclude on admin paths\u003C\/li\u003E\n\u003Cli\u003EAdd JsonLD metadata for breadcrumbs\u003C\/li\u003E\n\u003Cli\u003EReplace titles with simple regex\u003C\/li\u003E\n\u003Cli\u003EOptionally add the language as a crumb\u003C\/li\u003E\n\u003Cli\u003EOptionally include taxonomy hierarchy\u003C\/li\u003E\n\u003Cli\u003ETruncate the maximum length of a crumb title\u003C\/li\u003E\n\u003Cli\u003EInclude \/ Exclude invalid path alias as plain-text segments\u003C\/li\u003E\n\u003Cli\u003EExclude some paths from the segments to be generated\u003C\/li\u003E\n\u003Cli\u003EInclude \/ Exclude the front page as a segment in the breadcrumb\u003C\/li\u003E\n\u003Cli\u003ECustomize the title of the front page segment in the breadcrumb\u003C\/li\u003E\n\u003Cli\u003EUse the real page\u0027s title when it is available instead of deducing it from the URL\u003C\/li\u003E\n\u003Cli\u003EPrint the page\u0027s title as a link or as plain-text segment\u003C\/li\u003E\n\u003Cli\u003ELimit the total number of crumbs\u003C\/li\u003E\n\u003Cli\u003EChoose a transformation mode for the segments\u0027 title\u003C\/li\u003E\n\u003Cli\u003EMake the \u0027capitalizator\u0027 ignore some words (words not to be capitalized)\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Ch3 id=\u0022maintainers\u0022\u003EMaintainers\u003C\/h3\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\u0022http:\/\/www.gregboggs.com\u0022 rel=\u0022nofollow\u0022\u003EGreg Boggs\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/u\/spuky\u0022 rel=\u0022nofollow\u0022\u003EThomas Speer\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/u\/RenatoG\u0022 rel=\u0022nofollow\u0022\u003ERenato Gon\u00e7alves\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Ch3 id=\u0022credits\u0022\u003ECredits\u003C\/h3\u003E\n\u003Cp\u003EOriginal author: Roger Padilla Camacho (\u003Ca href=\u0022http:\/\/drupal.org\/user\/1667988\u0022 rel=\u0022nofollow\u0022\u003Esonemonu\u003C\/a\u003E) - Drupal 7\u003C\/p\u003E\n\u003Cp\u003EEasy Breadcrumb Logo by \u003Ca href=\u0022https:\/\/www.drupal.org\/u\/grienauer\u0022 rel=\u0022nofollow\u0022\u003ENico Grienauer (Grienauer)\u003C\/a\u003E\u003C\/p\u003E\n\u003Ch3 id=\u0022similar-modules\u0022\u003ESimilar Modules \u003C\/h3\u003E\n\u003Cp\u003EEasy Breadcrumb can be mixed and matched with other breadcrumb modules using block visibility settings.\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/current_page_crumb\u0022 rel=\u0022nofollow\u0022\u003ECurrent Page Crumb\u003C\/a\u003E - Add the current page to crumbs with no configuration options.\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/custom_breadcrumbs\u0022 rel=\u0022nofollow\u0022\u003E Custom Breadcrumbs \u003C\/a\u003E - Takes more work to set up, and it has fewer configuration options, but it allows you to build arbitrary crumbs unrelated to the path of the page.\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.drupal.org\/project\/menu_breadcrumb\u0022 rel=\u0022nofollow\u0022\u003EMenu Breadcrumb\u003C\/a\u003E - Sets breadcrumbs based entirely on a menu structure and requires putting all content into a menu.\u003C\/li\u003E\n\u003C\/ul\u003E\u003Ca href=\u0022#top\u0022 class=\u0022back-to-top\u0022\u003EBack to top\u003C\/a\u003E\u003C\/div\u003E","summary":"This module updates the core Breadcrumb block to include the current page title in the breadcrumbs. It comes with settings that are common features needed in crumbs."},"field_active_installs":"{\u00228.x-1.x\u0022:5498,\u00222.0.x\u0022:81942,\u00222.x\u0022:49}","field_active_installs_total":87489,"field_composer_namespace":"drupal\/easy_breadcrumb","field_core_semver_maximum":12000000,"field_core_semver_minimum":8000000,"field_issue_summary_template":{"value":"Please open merge requests and not patches for code you want to include: https:\/\/www.gregboggs.com\/drupal-merge-requests\/","format":"1","processed":"\u003Cp\u003EPlease open merge requests and not patches for code you want to include: \u003Ca href=\u0022https:\/\/www.gregboggs.com\/drupal-merge-requests\/\u0022 rel=\u0022nofollow\u0022\u003Ehttps:\/\/www.gregboggs.com\/drupal-merge-requests\/\u003C\/a\u003E\u003C\/p\u003E"},"field_logo_url":{"uri":"https:\/\/git.drupalcode.org\/project\/easy_breadcrumb\/-\/avatar","title":null,"options":[]},"field_project_has_releases":true,"field_project_machine_name":"easy_breadcrumb","field_security_advisory_coverage":"covered"},"relationships":{"uid":{"data":{"type":"user--user","id":"c83195db-9887-4795-9765-a11e3fa63d4e","meta":{"drupal_internal__target_id":1667988}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/22df99a5-711e-494e-af8b-9cc1d73e6a0d\/uid?resourceVersion=id%3A20018149"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/22df99a5-711e-494e-af8b-9cc1d73e6a0d\/relationships\/uid?resourceVersion=id%3A20018149"}}},"field_development_status":{"data":{"type":"taxonomy_term--development_status","id":"e767288c-9800-4fb4-aeb8-8c311533838a","meta":{"drupal_internal__target_id":27274}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/22df99a5-711e-494e-af8b-9cc1d73e6a0d\/field_development_status?resourceVersion=id%3A20018149"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/22df99a5-711e-494e-af8b-9cc1d73e6a0d\/relationships\/field_development_status?resourceVersion=id%3A20018149"}}},"field_maintenance_status":{"data":{"type":"taxonomy_term--maintenance_status","id":"089406ad-304d-4737-80d1-2f08527ae49e","meta":{"drupal_internal__target_id":27271}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/22df99a5-711e-494e-af8b-9cc1d73e6a0d\/field_maintenance_status?resourceVersion=id%3A20018149"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/22df99a5-711e-494e-af8b-9cc1d73e6a0d\/relationships\/field_maintenance_status?resourceVersion=id%3A20018149"}}},"field_module_categories":{"data":[{"type":"taxonomy_term--module_categories","id":"abf23828-f269-4d39-8589-b731209eb154","meta":{"drupal_internal__target_id":186}},{"type":"taxonomy_term--module_categories","id":"01df2105-2397-4a0e-b34c-80da1c3b1208","meta":{"drupal_internal__target_id":201}},{"type":"taxonomy_term--module_categories","id":"dcb48e9f-6afa-4842-8ef6-44b90b083fcc","meta":{"drupal_internal__target_id":200}}],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/22df99a5-711e-494e-af8b-9cc1d73e6a0d\/field_module_categories?resourceVersion=id%3A20018149"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/22df99a5-711e-494e-af8b-9cc1d73e6a0d\/relationships\/field_module_categories?resourceVersion=id%3A20018149"}}},"field_project_images":{"data":[{"type":"file--file","id":"2074a11b-ba50-4725-8114-5ada5d5fbbe3","meta":{"alt":"Easy Breadcrumb","title":null,"width":600,"height":600,"drupal_internal__target_id":26193}}],"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/22df99a5-711e-494e-af8b-9cc1d73e6a0d\/field_project_images?resourceVersion=id%3A20018149"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/node\/project_module\/22df99a5-711e-494e-af8b-9cc1d73e6a0d\/relationships\/field_project_images?resourceVersion=id%3A20018149"}}}}}],"included":[{"type":"taxonomy_term--module_categories","id":"3322058a-a158-4806-ac5b-9bcabc95edac","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/module_categories\/3322058a-a158-4806-ac5b-9bcabc95edac?resourceVersion=id%3A185"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/module_categories\/3322058a-a158-4806-ac5b-9bcabc95edac?resourceVersion=rel%3Aworking-copy"}},"attributes":{"name":"Integrations","drupal_internal__tid":185,"status":true,"description":{"value":"Use a third-party CSS or JS Framework, a self-hosted service like a CRM, or a third-party service with the site.","format":"1","processed":"\u003Cp\u003EUse a third-party CSS or JS Framework, a self-hosted service like a CRM, or a third-party service with the site.\u003C\/p\u003E"}}},{"type":"taxonomy_term--module_categories","id":"086cebcf-200f-4c34-886e-f9921919b292","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/module_categories\/086cebcf-200f-4c34-886e-f9921919b292?resourceVersion=id%3A189"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/module_categories\/086cebcf-200f-4c34-886e-f9921919b292?resourceVersion=rel%3Aworking-copy"}},"attributes":{"name":"Developer tools","drupal_internal__tid":189,"status":true,"description":{"value":"Empower developers with tools that assist with developing and debugging the frontend or backend of the site.","format":"1","processed":"\u003Cp\u003EEmpower developers with tools that assist with developing and debugging the frontend or backend of the site.\u003C\/p\u003E"}}},{"type":"taxonomy_term--module_categories","id":"abf23828-f269-4d39-8589-b731209eb154","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/module_categories\/abf23828-f269-4d39-8589-b731209eb154?resourceVersion=id%3A186"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/module_categories\/abf23828-f269-4d39-8589-b731209eb154?resourceVersion=rel%3Aworking-copy"}},"attributes":{"name":"Administration tools","drupal_internal__tid":186,"status":true,"description":{"value":"Empower site builders and administrators with no-code tools to setup, enhance, configure, or maintain the site.","format":"1","processed":"\u003Cp\u003EEmpower site builders and administrators with no-code tools to setup, enhance, configure, or maintain the site.\u003C\/p\u003E"}}},{"type":"taxonomy_term--module_categories","id":"81212413-80b0-44d6-84fb-9078baa7ab25","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/module_categories\/81212413-80b0-44d6-84fb-9078baa7ab25?resourceVersion=id%3A198"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/module_categories\/81212413-80b0-44d6-84fb-9078baa7ab25?resourceVersion=rel%3Aworking-copy"}},"attributes":{"name":"Automation","drupal_internal__tid":198,"status":true,"description":{"value":"Enable the site to initiate automated actions from conditions, events, or defined schedules.","format":"1","processed":"\u003Cp\u003EEnable the site to initiate automated actions from conditions, events, or defined schedules.\u003C\/p\u003E"}}},{"type":"taxonomy_term--module_categories","id":"8117d8b0-f171-414d-b384-0bafa81bef9f","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/module_categories\/8117d8b0-f171-414d-b384-0bafa81bef9f?resourceVersion=id%3A193"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/module_categories\/8117d8b0-f171-414d-b384-0bafa81bef9f?resourceVersion=rel%3Aworking-copy"}},"attributes":{"name":"Security","drupal_internal__tid":193,"status":true,"description":{"value":"Help protect the website from attackers or bad actors, by identifying, preventing, or mitigating security vulnerabilities.","format":"1","processed":"\u003Cp\u003EHelp protect the website from attackers or bad actors, by identifying, preventing, or mitigating security vulnerabilities.\u003C\/p\u003E"}}},{"type":"taxonomy_term--module_categories","id":"86237004-3801-40cf-96b5-fe7d60efccb5","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/module_categories\/86237004-3801-40cf-96b5-fe7d60efccb5?resourceVersion=id%3A187"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/module_categories\/86237004-3801-40cf-96b5-fe7d60efccb5?resourceVersion=rel%3Aworking-copy"}},"attributes":{"name":"Content editing experience","drupal_internal__tid":187,"status":true,"description":{"value":"Enhance the editorial interface and improve the processes and workflows around creating, editing or removing content.","format":"1","processed":"\u003Cp\u003EEnhance the editorial interface and improve the processes and workflows around creating, editing or removing content.\u003C\/p\u003E"}}},{"type":"taxonomy_term--module_categories","id":"68428c33-1db7-438d-b1b3-e23004e0982b","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/module_categories\/68428c33-1db7-438d-b1b3-e23004e0982b?resourceVersion=id%3A192"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/module_categories\/68428c33-1db7-438d-b1b3-e23004e0982b?resourceVersion=rel%3Aworking-copy"}},"attributes":{"name":"Media","drupal_internal__tid":192,"status":true,"description":{"value":"Enhance functionality related to media, or expand media resource types, such as images, videos, audio files, or documents.","format":"1","processed":"\u003Cp\u003EEnhance functionality related to media, or expand media resource types, such as images, videos, audio files, or documents.\u003C\/p\u003E"}}},{"type":"taxonomy_term--module_categories","id":"24830916-5c07-4446-89de-960915f87bf6","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/module_categories\/24830916-5c07-4446-89de-960915f87bf6?resourceVersion=id%3A199"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/module_categories\/24830916-5c07-4446-89de-960915f87bf6?resourceVersion=rel%3Aworking-copy"}},"attributes":{"name":"Access control","drupal_internal__tid":199,"status":true,"description":{"value":"Grant or restrict access to content, assets, or site functionality, or extend the authentication\/login process.","format":"1","processed":"\u003Cp\u003EGrant or restrict access to content, assets, or site functionality, or extend the authentication\/login process.\u003C\/p\u003E"}}},{"type":"taxonomy_term--module_categories","id":"754c04cb-6da2-42ba-9032-d64307f68f45","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/module_categories\/754c04cb-6da2-42ba-9032-d64307f68f45?resourceVersion=id%3A188"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/module_categories\/754c04cb-6da2-42ba-9032-d64307f68f45?resourceVersion=rel%3Aworking-copy"}},"attributes":{"name":"Content display","drupal_internal__tid":188,"status":true,"description":{"value":"Configure the layout and format of content and data presented to site visitors.","format":"1","processed":"\u003Cp\u003EConfigure the layout and format of content and data presented to site visitors.\u003C\/p\u003E"}}},{"type":"taxonomy_term--module_categories","id":"01df2105-2397-4a0e-b34c-80da1c3b1208","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/module_categories\/01df2105-2397-4a0e-b34c-80da1c3b1208?resourceVersion=id%3A201"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/module_categories\/01df2105-2397-4a0e-b34c-80da1c3b1208?resourceVersion=rel%3Aworking-copy"}},"attributes":{"name":"Search engine optimization (SEO)","drupal_internal__tid":201,"status":true,"description":{"value":"Manage or improve the site\u0027s search engine ranking by running audits, assessing metrics, or making the site\u2019s content and data more digestible by search engines.","format":"1","processed":"\u003Cp\u003EManage or improve the site\u0027s search engine ranking by running audits, assessing metrics, or making the site\u2019s content and data more digestible by search engines.\u003C\/p\u003E"}}},{"type":"taxonomy_term--module_categories","id":"dcb48e9f-6afa-4842-8ef6-44b90b083fcc","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/module_categories\/dcb48e9f-6afa-4842-8ef6-44b90b083fcc?resourceVersion=id%3A200"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/module_categories\/dcb48e9f-6afa-4842-8ef6-44b90b083fcc?resourceVersion=rel%3Aworking-copy"}},"attributes":{"name":"Site structure","drupal_internal__tid":200,"status":true,"description":{"value":"Extend the structure of the site by way of content models, data storage, field types, and navigation, so it is more understandable to users.","format":"1","processed":"\u003Cp\u003EExtend the structure of the site by way of content models, data storage, field types, and navigation, so it is more understandable to users.\u003C\/p\u003E"}}},{"type":"taxonomy_term--maintenance_status","id":"089406ad-304d-4737-80d1-2f08527ae49e","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/maintenance_status\/089406ad-304d-4737-80d1-2f08527ae49e?resourceVersion=id%3A27271"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/maintenance_status\/089406ad-304d-4737-80d1-2f08527ae49e?resourceVersion=rel%3Aworking-copy"}},"attributes":{"drupal_internal__tid":27271,"status":true,"name":"Actively maintained","description":{"value":"Maintainers strive to actively monitor issues and respond in a timely manner.","format":"1","processed":"\u003Cp\u003EMaintainers strive to actively monitor issues and respond in a timely manner.\u003C\/p\u003E"}}},{"type":"taxonomy_term--maintenance_status","id":"da38f99c-5b5a-41f6-99ce-7a78cc0e8396","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/maintenance_status\/da38f99c-5b5a-41f6-99ce-7a78cc0e8396?resourceVersion=id%3A27270"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/maintenance_status\/da38f99c-5b5a-41f6-99ce-7a78cc0e8396?resourceVersion=rel%3Aworking-copy"}},"attributes":{"drupal_internal__tid":27270,"status":true,"name":"Seeking new maintainer","description":{"value":"The current maintainers are looking for new people to take ownership.","format":"1","processed":"\u003Cp\u003EThe current maintainers are looking for new people to take ownership.\u003C\/p\u003E"}}},{"type":"taxonomy_term--development_status","id":"e767288c-9800-4fb4-aeb8-8c311533838a","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/development_status\/e767288c-9800-4fb4-aeb8-8c311533838a?resourceVersion=id%3A27274"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/development_status\/e767288c-9800-4fb4-aeb8-8c311533838a?resourceVersion=rel%3Aworking-copy"}},"attributes":{"drupal_internal__tid":27274,"status":true,"name":"Under active development","description":{"value":"This project is under active development.","format":"1","processed":"\u003Cp\u003EThis project is under active development.\u003C\/p\u003E"}}},{"type":"taxonomy_term--development_status","id":"219c1cf2-dd7f-474b-9dd5-a26643fbc699","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/development_status\/219c1cf2-dd7f-474b-9dd5-a26643fbc699?resourceVersion=id%3A27276"},"working-copy":{"href":"https:\/\/new.drupal.org\/jsonapi\/taxonomy_term\/development_status\/219c1cf2-dd7f-474b-9dd5-a26643fbc699?resourceVersion=rel%3Aworking-copy"}},"attributes":{"drupal_internal__tid":27276,"status":true,"name":"Maintenance fixes only","description":{"value":"Considered feature-complete by its maintainers.","format":"1","processed":"\u003Cp\u003EConsidered feature-complete by its maintainers.\u003C\/p\u003E"}}},{"type":"user--user","id":"b1ae8858-7741-422f-a770-06e48e776054","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/b1ae8858-7741-422f-a770-06e48e776054"}},"attributes":{"display_name":"pillarsdotnet","drupal_internal__uid":36148,"name":"pillarsdotnet","field_country":"US","field_first_name":"Robert","field_git_username":"pillarsdotnet","field_last_name":"Vincent"},"relationships":{"user_picture":{"data":{"type":"file--file","id":"bd318a1c-1c89-4be9-94a5-b5d601532169","meta":{"alt":null,"title":null,"width":580,"height":628,"drupal_internal__target_id":9574}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/b1ae8858-7741-422f-a770-06e48e776054\/user_picture"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/b1ae8858-7741-422f-a770-06e48e776054\/relationships\/user_picture"}}}}},{"type":"user--user","id":"3c27d7fe-04e9-4213-a8d1-5d1c5b60cfa0","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/3c27d7fe-04e9-4213-a8d1-5d1c5b60cfa0"}},"attributes":{"display_name":"zrpnr","drupal_internal__uid":1448368,"name":"zrpnr","field_country":"US","field_first_name":"Peter","field_git_username":"zrpnr","field_last_name":"Weber"},"relationships":{"user_picture":{"data":{"type":"file--file","id":"cd9613a4-c51b-42a2-a66e-74e1164c2525","meta":{"alt":null,"title":null,"width":1024,"height":1024,"drupal_internal__target_id":145738}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/3c27d7fe-04e9-4213-a8d1-5d1c5b60cfa0\/user_picture"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/3c27d7fe-04e9-4213-a8d1-5d1c5b60cfa0\/relationships\/user_picture"}}}}},{"type":"user--user","id":"566cb761-b4bc-4928-a192-cf4d906befe7","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/566cb761-b4bc-4928-a192-cf4d906befe7"}},"attributes":{"display_name":"moshe weitzman","drupal_internal__uid":23,"name":"moshe weitzman","field_country":"US","field_first_name":"Moshe","field_git_username":"weitzman","field_last_name":"Weitzman"},"relationships":{"user_picture":{"data":{"type":"file--file","id":"681de854-c5dd-43c8-ac6a-2d5c9ef26cb6","meta":{"alt":null,"title":null,"width":1024,"height":768,"drupal_internal__target_id":4}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/566cb761-b4bc-4928-a192-cf4d906befe7\/user_picture"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/566cb761-b4bc-4928-a192-cf4d906befe7\/relationships\/user_picture"}}}}},{"type":"user--user","id":"ef974d88-7b8d-4a17-92f6-d30f99d05357","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/ef974d88-7b8d-4a17-92f6-d30f99d05357"}},"attributes":{"display_name":"naveenvalecha","drupal_internal__uid":2665733,"name":"naveenvalecha","field_country":"AU","field_first_name":"Naveen","field_git_username":"naveenvalecha","field_last_name":"Valecha"},"relationships":{"user_picture":{"data":{"type":"file--file","id":"febfcd66-dfe9-4c4c-ba39-8383e67889f4","meta":{"alt":null,"title":null,"width":280,"height":280,"drupal_internal__target_id":177623}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/ef974d88-7b8d-4a17-92f6-d30f99d05357\/user_picture"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/ef974d88-7b8d-4a17-92f6-d30f99d05357\/relationships\/user_picture"}}}}},{"type":"user--user","id":"c7047c8f-c3cc-4139-bee4-6561bce7eb73","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/c7047c8f-c3cc-4139-bee4-6561bce7eb73"}},"attributes":{"display_name":"wundo","drupal_internal__uid":25523,"name":"wundo","field_country":"BR","field_first_name":"Fabiano","field_git_username":"wundo","field_last_name":"Sant\u0027Ana"},"relationships":{"user_picture":{"data":null,"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/c7047c8f-c3cc-4139-bee4-6561bce7eb73\/user_picture"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/c7047c8f-c3cc-4139-bee4-6561bce7eb73\/relationships\/user_picture"}}}}},{"type":"user--user","id":"45aa7efc-40a7-4cd3-a412-723ef2d49285","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/45aa7efc-40a7-4cd3-a412-723ef2d49285"}},"attributes":{"display_name":"Drupal Media Team","drupal_internal__uid":3260690,"name":"Drupal Media Team","field_country":null,"field_first_name":null,"field_git_username":"DrupalMedia","field_last_name":null},"relationships":{"user_picture":{"data":{"type":"file--file","id":"992629c2-134b-4da2-9434-73f839586d5b","meta":{"alt":null,"title":null,"width":261,"height":261,"drupal_internal__target_id":87132}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/45aa7efc-40a7-4cd3-a412-723ef2d49285\/user_picture"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/45aa7efc-40a7-4cd3-a412-723ef2d49285\/relationships\/user_picture"}}}}},{"type":"user--user","id":"cf195a19-00b6-4e02-aef7-5fe21d63b2df","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/cf195a19-00b6-4e02-aef7-5fe21d63b2df"}},"attributes":{"display_name":"svendecabooter","drupal_internal__uid":35369,"name":"svendecabooter","field_country":"BE","field_first_name":"Sven","field_git_username":"svendecabooter","field_last_name":"Decabooter"},"relationships":{"user_picture":{"data":{"type":"file--file","id":"ab283f99-a72b-4134-ad33-44aa41ed8613","meta":{"alt":null,"title":null,"width":936,"height":1011,"drupal_internal__target_id":9099}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/cf195a19-00b6-4e02-aef7-5fe21d63b2df\/user_picture"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/cf195a19-00b6-4e02-aef7-5fe21d63b2df\/relationships\/user_picture"}}}}},{"type":"user--user","id":"079d65be-a9ed-45c6-9c59-f69f5158146f","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/079d65be-a9ed-45c6-9c59-f69f5158146f"}},"attributes":{"display_name":"acquia","drupal_internal__uid":1231722,"name":"acquia","field_country":"US","field_first_name":null,"field_git_username":null,"field_last_name":null},"relationships":{"user_picture":{"data":{"type":"file--file","id":"777516b5-7129-40b5-882c-ea285d58885c","meta":{"alt":null,"title":null,"width":472,"height":472,"drupal_internal__target_id":175453}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/079d65be-a9ed-45c6-9c59-f69f5158146f\/user_picture"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/079d65be-a9ed-45c6-9c59-f69f5158146f\/relationships\/user_picture"}}}}},{"type":"user--user","id":"4e809440-75b7-4ca9-b1d9-11fb32fe8280","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/4e809440-75b7-4ca9-b1d9-11fb32fe8280"}},"attributes":{"display_name":"bleen","drupal_internal__uid":77375,"name":"bleen","field_country":"US","field_first_name":"Alexander","field_git_username":"bleen18","field_last_name":"Ross"},"relationships":{"user_picture":{"data":{"type":"file--file","id":"0a2099aa-faba-4d99-9c4e-a3bcdb98db99","meta":{"alt":null,"title":null,"width":1024,"height":685,"drupal_internal__target_id":33153}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/4e809440-75b7-4ca9-b1d9-11fb32fe8280\/user_picture"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/4e809440-75b7-4ca9-b1d9-11fb32fe8280\/relationships\/user_picture"}}}}},{"type":"user--user","id":"3519ba1b-5fd7-4447-a792-29a83a19ce20","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/3519ba1b-5fd7-4447-a792-29a83a19ce20"}},"attributes":{"display_name":"fago","drupal_internal__uid":16747,"name":"fago","field_country":"AT","field_first_name":"Wolfgang","field_git_username":"fago","field_last_name":"Ziegler"},"relationships":{"user_picture":{"data":{"type":"file--file","id":"c20ebe7c-080b-47a1-b579-38eef8459328","meta":{"alt":null,"title":null,"width":1024,"height":1024,"drupal_internal__target_id":1047}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/3519ba1b-5fd7-4447-a792-29a83a19ce20\/user_picture"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/3519ba1b-5fd7-4447-a792-29a83a19ce20\/relationships\/user_picture"}}}}},{"type":"user--user","id":"66dde292-bfd9-479f-932e-25e8c466f2ee","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/66dde292-bfd9-479f-932e-25e8c466f2ee"}},"attributes":{"display_name":"ufku","drupal_internal__uid":9910,"name":"ufku","field_country":null,"field_first_name":null,"field_git_username":"ufku","field_last_name":null},"relationships":{"user_picture":{"data":null,"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/66dde292-bfd9-479f-932e-25e8c466f2ee\/user_picture"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/66dde292-bfd9-479f-932e-25e8c466f2ee\/relationships\/user_picture"}}}}},{"type":"user--user","id":"c83195db-9887-4795-9765-a11e3fa63d4e","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/c83195db-9887-4795-9765-a11e3fa63d4e"}},"attributes":{"display_name":"sonemonu","drupal_internal__uid":1667988,"name":"sonemonu","field_country":"CO","field_first_name":"Roger","field_git_username":"sonemonu","field_last_name":"Padilla"},"relationships":{"user_picture":{"data":{"type":"file--file","id":"a4241aaa-d1af-4dcd-88c8-a6100b40ab4e","meta":{"alt":null,"title":null,"width":1024,"height":741,"drupal_internal__target_id":142857}},"links":{"related":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/c83195db-9887-4795-9765-a11e3fa63d4e\/user_picture"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/user\/user\/c83195db-9887-4795-9765-a11e3fa63d4e\/relationships\/user_picture"}}}}},{"type":"file--file","id":"b7f3d125-15c2-48b1-8cf7-75ef573abf7a","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/file\/file\/b7f3d125-15c2-48b1-8cf7-75ef573abf7a"}},"attributes":{"uri":{"value":"public:\/\/images\/mailsystem_config.png","url":"\/assets\/images\/mailsystem_config.png"}}},{"type":"file--file","id":"5e5e9770-c50a-438a-98ed-c25858ce0611","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/file\/file\/5e5e9770-c50a-438a-98ed-c25858ce0611"}},"attributes":{"uri":{"value":"public:\/\/project-images\/jquery-ui-slider.png","url":"\/assets\/project-images\/jquery-ui-slider.png"}}},{"type":"file--file","id":"a3308d8b-41d1-48a1-96a6-dfd86538e5f1","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/file\/file\/a3308d8b-41d1-48a1-96a6-dfd86538e5f1"}},"attributes":{"uri":{"value":"public:\/\/project-images\/devel-logo.png","url":"\/assets\/project-images\/devel-logo.png"}}},{"type":"file--file","id":"49015ed5-1587-4bc7-92e0-15c5e5f84069","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/file\/file\/49015ed5-1587-4bc7-92e0-15c5e5f84069"}},"attributes":{"uri":{"value":"public:\/\/project-images\/smtp-3059783-screenshot.png","url":"\/assets\/project-images\/smtp-3059783-screenshot.png"}}},{"type":"file--file","id":"9fd9e5f8-a0d4-4108-87bd-e708fa9b568a","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/file\/file\/9fd9e5f8-a0d4-4108-87bd-e708fa9b568a"}},"attributes":{"uri":{"value":"public:\/\/project-images\/entity_browser_logo.png","url":"\/assets\/project-images\/entity_browser_logo.png"}}},{"type":"file--file","id":"0c87f964-9ec1-44f0-a5ee-5988c1fd1691","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/file\/file\/0c87f964-9ec1-44f0-a5ee-5988c1fd1691"}},"attributes":{"uri":{"value":"public:\/\/project-images\/gtm-snapshot-201912.png","url":"\/assets\/project-images\/gtm-snapshot-201912.png"}}},{"type":"file--file","id":"dc3950dc-4883-408c-937e-fde99ac8ea0f","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/file\/file\/dc3950dc-4883-408c-937e-fde99ac8ea0f"}},"attributes":{"uri":{"value":"public:\/\/project-images\/Focal_Point_Test_Drivel.png","url":"\/assets\/project-images\/Focal_Point_Test_Drivel.png"}}},{"type":"file--file","id":"6d0a7960-ebd7-420a-b476-7ed1393e032e","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/file\/file\/6d0a7960-ebd7-420a-b476-7ed1393e032e"}},"attributes":{"uri":{"value":"public:\/\/project-images\/imce-file-browser-d8_0.png","url":"\/assets\/project-images\/imce-file-browser-d8_0.png"}}},{"type":"file--file","id":"2074a11b-ba50-4725-8114-5ada5d5fbbe3","links":{"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/file\/file\/2074a11b-ba50-4725-8114-5ada5d5fbbe3"}},"attributes":{"uri":{"value":"public:\/\/project-images\/logo-easy-breadcrumb.jpg","url":"\/assets\/project-images\/logo-easy-breadcrumb.jpg"}}}],"meta":{"count":38056},"links":{"first":{"href":"https:\/\/new.drupal.org\/jsonapi\/index\/project_modules?filter%5Bstatus%5D=1\u0026filter%5Btype%5D=project_module\u0026filter%5Bproject_type%5D=full\u0026filter%5Bn_security_coverage%5D%5Bvalue%5D%5B0%5D=revoked\u0026filter%5Bn_security_coverage%5D%5Boperator%5D=NOT%20IN\u0026filter%5Bn_security_coverage%5D%5Bpath%5D=security_coverage\u0026page%5Boffset%5D=0\u0026page%5Blimit%5D=12\u0026include=field_module_categories%2Cfield_maintenance_status%2Cfield_development_status%2Cuid%2Cfield_project_images"},"last":{"href":"https:\/\/new.drupal.org\/jsonapi\/index\/project_modules?filter%5Bstatus%5D=1\u0026filter%5Btype%5D=project_module\u0026filter%5Bproject_type%5D=full\u0026filter%5Bn_security_coverage%5D%5Bvalue%5D%5B0%5D=revoked\u0026filter%5Bn_security_coverage%5D%5Boperator%5D=NOT%20IN\u0026filter%5Bn_security_coverage%5D%5Bpath%5D=security_coverage\u0026page%5Boffset%5D=38052\u0026page%5Blimit%5D=12\u0026include=field_module_categories%2Cfield_maintenance_status%2Cfield_development_status%2Cuid%2Cfield_project_images"},"next":{"href":"https:\/\/new.drupal.org\/jsonapi\/index\/project_modules?filter%5Bstatus%5D=1\u0026filter%5Btype%5D=project_module\u0026filter%5Bproject_type%5D=full\u0026filter%5Bn_security_coverage%5D%5Bvalue%5D%5B0%5D=revoked\u0026filter%5Bn_security_coverage%5D%5Boperator%5D=NOT%20IN\u0026filter%5Bn_security_coverage%5D%5Bpath%5D=security_coverage\u0026page%5Boffset%5D=36\u0026page%5Blimit%5D=12\u0026include=field_module_categories%2Cfield_maintenance_status%2Cfield_development_status%2Cuid%2Cfield_project_images"},"prev":{"href":"https:\/\/new.drupal.org\/jsonapi\/index\/project_modules?filter%5Bstatus%5D=1\u0026filter%5Btype%5D=project_module\u0026filter%5Bproject_type%5D=full\u0026filter%5Bn_security_coverage%5D%5Bvalue%5D%5B0%5D=revoked\u0026filter%5Bn_security_coverage%5D%5Boperator%5D=NOT%20IN\u0026filter%5Bn_security_coverage%5D%5Bpath%5D=security_coverage\u0026page%5Boffset%5D=12\u0026page%5Blimit%5D=12\u0026include=field_module_categories%2Cfield_maintenance_status%2Cfield_development_status%2Cuid%2Cfield_project_images"},"self":{"href":"https:\/\/new.drupal.org\/jsonapi\/index\/project_modules?filter%5Bstatus%5D=1\u0026filter%5Btype%5D=project_module\u0026filter%5Bproject_type%5D=full\u0026filter%5Bn_security_coverage%5D%5Bvalue%5D%5B0%5D=revoked\u0026filter%5Bn_security_coverage%5D%5Boperator%5D=NOT%20IN\u0026filter%5Bn_security_coverage%5D%5Bpath%5D=security_coverage\u0026include=field_module_categories%2Cfield_maintenance_status%2Cfield_development_status%2Cuid%2Cfield_project_images\u0026page%5Blimit%5D=12\u0026page%5Boffset%5D=24"}}}