No problem, and sorry I didn't get back here sooner!
It's really awesome what you are doing: Every time I look at a new issue, I am realizing just how much time and effort you have invested. I am extremely grateful, as should the rest of the Drupal community be. It's stellar work, and it's a privilege to assist you with it.
And yes, the 📌 Automated Tests: Add Functional tests for classes ExtraLinks and SearchLinks Needs review issue patch looks endless! It sounds fantastic that the end result will be a much more solid foundation, capable of reporting back immediately any breaking changes -- which after all is what tests are for 🙂
It's really great with all the comments in commits and in the code, even if they are initially just meant for yourself, they can be very valuable, down the line.
To clarify priorities, I moved the last four "not so imminent" issues down to "Nice to have". They can always be moved up again, if we feel ambitious, right?
I also moved the two RTBC issues list down to "Done", so the "Planned issues" are now slimmed down 7 issues ready to go (down from the original 9).
Great work here @dydave! I had to read up on nested CSS, but it works well. And very nice with changing to rem
, as well as all the comments, it helps a lot with the general understanding of what's going on.
I only have a few suggested changes, but instead of starting a review I made them directly in the file, and I hope it's all right?
- Added left and right margin for search box.
- Added smaller font size for search result list on mobile platforms.
- Moved the @media queries to the bottom, to allow setting different platform result list font sizes.
- Linted the CSS file (and created https://www.drupal.org/docs/develop/development-tools/stylelint → )
The test error seems unrelated.
Maybe you can review the CSS changes? (Then I won't change the Status back and forth) Thanks!
Thanks @joelpittet, I ran into this error, and couldn't find any documentation on Stylelint, so I created https://www.drupal.org/docs/develop/development-tools/stylelint → .
Perhaps someone with the right permissions can add it to the menu?
Thanks @dydave, another step on the path of steady improvements 🙂
And that IS an epic patch, in the other issue, where this bug was found..
I could reproduce most of the missing updates, after creating and renaming Views and Roles, though some I couldn't.
For example, updating a Role label seemed to get reflected immediately. Either way, after applying the patch all Views and Role changes (Create, Update, Delete) were immediately visible in the Admin Toolbar menu items, after clicking "Save".
As a side effect, the order or Roles in Admin Toolbar is also immediately updated now, nice!
Thank you for fast responses @joelpittet and @graber. I am very grateful that you and other community members maintain and expand all the wonderful Drupal modules, and all the effort and time you use on it. Often, you don't hear from the users, except for negative feedback, if there is a problem, and I can only imagine how much pressure you can feel sometimes ...
I am not on Slack, so it would be awesome if you could copy-paste the Slack discussion here @joelpittet? Also, that way the discussion can be preserved for posterity, whereas a Slack discussion can (or will) disappear.
Fundamentally, it's a three-pronged problem, of false positive, annoying emails, and risk of a "Cry Wolf"-situation:
False positive: Urgent update seems to be required, but it's not
Based on the wording in the alert of "Uninstalling everything included in this release or upgrading is strongly recommended!", users will rightfully think there is a security problem, when there is not.
Nagging emails
After the situation has been understood, the users will from now on get frequent, nagging emails about a security problem, when there is none.
Cry Wolf
The permanent state of being in a perpetual (but false) security risk state, can result in a "Cry Wolf"-situation, where important email alerts are eventually ignored.
It would be fantastic if you both, as seasoned maintainers, left a comment in the related issues I added, where better UI of the project maintenance page is discussed, to find a good solution. For example, you could discuss if the word "Supported" is ambiguous? Would "Not EOL" be better?
Because "Supported" does not necessarily mean that the maintainers will fix bugs, just that this version is still not EOL ... (as I understand it).
@graber: It looks like 4.3 and 4.2 are still unsupported, looking under
https://www.drupal.org/project/views_bulk_operations/releases →
... and also under /admin/reports/updates
...
Thanks a lot for the script @joelpittet! It's really great, and works well, and I have added it in a new Check for vulnerabilities with Cron-triggered script → section and hope it's ok? Feel of course free to correct or adjust anything I did not get right.
Mention Update module and add "Check for vulnerabilities with Cron-triggered script" section.
Thanks for reporting this. Also, all earlier versions were set to not "Supported", resulting in warning emails, see 📌 False warning about Views Bulk Operations (VBO) security update Active . This may cause more users to feel an urgency to update, even if it's not necessary.
It looks perfect now, thanks! And thank you for maintaining all the Search API modules :)
About the Drupal 7 docs, it's not clear to me why there are these two sections ... I would think the modules under drupal.org/docs/7/modules
should be moved to the contributed-module-documentation-archive as well:
Whew, this one took me a while to understand 😅
As a side effect I finally understood what "Maximum number of bundle sub-menus to display" does. As a follow up, it could be updated ... Perhaps drop "Bundle"?
Thanks for creating the MR @dydave, and thoroughly describing the challenge, the solution, and the expected result. The MR works as expected, and the menu items now all follow the same order:
Menu
BEFORE
- Add link
- Delete
- Devel
AFTER
- Add link
- Devel
- Delete
People
BEFORE
- Devel
- Delete
- Edit permissions
AFTER
- Edit permissions
- Devel
- Delete
Menu
BEFORE
- Add menu
- All menus
AFTER
- All menus
- Add menu
Content type
BEFORE
- All types
- Add content type
AFTER
- All types
- Add content type
Thanks @dydave, great initiative, always nice to get rid of unneeded code! I agree with your considerations, and support removing the version switch function, and just use what seems to be the de facto Drupal logo, for Drupal 9, 10, 11 ...
I tried the MR, and it works perfectly. The old images are replaced with a single drupal-logo.svg, and the update hook flushed caches (nice touch!) and the icon was immediately available.
I only have a single comment about hook update numbering:
Hook update numbering
It looks like update hooks numbering diverged at some point ...
$ grep -rinoE '.{0,20}update_8.{0,20}' .
./admin_toolbar.install:13:ction admin_toolbar_update_8001() {
./admin_toolbar.install:23:ction admin_toolbar_update_8002() {
./admin_toolbar.install:37:ction admin_toolbar_update_8003() {
./admin_toolbar.install:48:ction admin_toolbar_update_8004() {
./admin_toolbar.install:84:ction admin_toolbar_update_8005() {
./admin_toolbar_search/admin_toolbar_search.install:11:dmin_toolbar_search_update_8001() {
./admin_toolbar_tools/admin_toolbar_tools.install:11:admin_toolbar_tools_update_8001() {
./admin_toolbar_tools/admin_toolbar_tools.install:19:admin_toolbar_tools_update_8201() {
./admin_toolbar_tools/admin_toolbar_tools.install:29:admin_toolbar_tools_update_8202() {
I looked in the update hooks history, and it looks like 8003 should have been 8203:
30 Jan 2021: function admin_toolbar_tools_update_8202() {
https://git.drupalcode.org/project/admin_toolbar/-/blame/3.x/admin_toolb...
2 Aug 2024: function admin_toolbar_update_8003() {
https://git.drupalcode.org/project/admin_toolbar/-/blame/3.x/admin_toolb...
An update_hook should always be higher than the previous one:
[... ] what matters is that you must ALWAYS increase the number when a new update hook is added.
From https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Extension...
... so we could either carry on with 8203 (which could be seen as a bit strange, since it's based on 8.2 ...) or use the current versioning. Since it should be higher it could be 37001, since the release will be 3.7.0 and then a "0" and a "1" = 37001 ... what do you think?
You're welcome, thanks @dydave for a fast and positive response, as always!
I found it while testing the Search issue, where module names are not searched for 🐛 Look up module name as well, when searching with Admin Toolbar Search Needs work . I just happened that the name of the string I was searching for ("Glossify") contained "Gl", and there was "Flush all caches" as well 🙂
It helped that only "Glossify" and flush cache, which does not contain "gl" was shown in the result, so it really stood out. because many users have probably experienced it ... but it usually gets drowned out in a list of many other options, so it didn't stick out.
I agree, this one is not crucial and can wait. And adding a check for it in that test is a great idea.
And you're right about the logout, good recalled. These are the instances I could find:
- admin/flush?token=upJvmtXMrMv7LcywetmGEjyuApkuE7reFv0jPkC9Hq8
- admin/flush/cssjs?token=12gsaVkx_VTNFxeV48MAVG90YEVNTW0VdG
- admin/flush/plugin?token=_Ljnmh2teHhNXCrHh
- admin/flush/rendercache?token=DxHSdqr8jiQympVi5hmXYhdhAZuBrrncKghHunEQNRQ
- admin/flush/menu?token=bG8ISJk5OPlkm
- admin/flush/static-caches?token=xj3EEJubOPCSgSHsWlB3gm2nudWd02yEnurjSJo2TAE
- admin/flush/twig?token=Z7ePS3qA_1lLFWbPGSiDcg14ToeOE8fAzUkwcKmh
- admin/flush/views?token=EJneh3nBvJ5GC_T7dwk7CIRgM2oexHk
- admin/flush/theme_rebuild?token=2A8mbZxnLVS7QE4OB2D4lwETGkHj
- run-cron?token=sP4MYtCDWwvRauWwqEB2gn2nkK2rlbWBIEm3QKwl0ok
- user/logout?token=5A6v3h0Sp2G1NPmAFONCYtodY5nyV9CKsCUxBqeTO60
Thank you for creating all the issues, and got MR's in the pipeline, they are all necessary improvements! It's a very nice side effect of your intense coding on Admin Toolbar this year, that you know the code forwards and backwards -- it's a great luxury for the Drupal community, to have such a resource 🙂
Awesome that you updated the Meta issue list, I'll try to look at the ones I feel I can handle, and hopefully more community members can join in as well. You should totally do what you think will be the most practical and efficient road forward, I'll try to help out where I can, and let you know if some are beyond my technical skills -- at least it sounds good that all the tests are in place, and they can prevent most or all breaking changes.
And yes, we did cover a lot of issues a few months ago, it was a great collaboration! I am also very grateful to you, for graciously volunteering your time to improve Drupal.
Great that you got some of the errors fixed, thanks @aryan singh! Though, I need to point out, that it was the module maintainer @dydave, who helped with the actual solutions :)
And thanks as always for the very thorough guidance and pointers @dydave! I very much appreciate you taking the time to do this, as a volunteer, as we all are.
Thanks for sharing @mortona2k! Like I wrote, there are practically no use cases on the internet of how to actually configure and use this modules, except for the one with Charts, so that's really great to know. That's one way to use it.
Ideally, this module would have a few use case examples, and how to set them up, like Charts HowTos: https://www.drupal.org/docs/8/modules/charts/charts-howtos-0 →
If you have time, feel free to create a https://www.drupal.org/docs/contributed-modules/views-field-view → Guide and share an example of how you use it, since I assume the set up process is not that lengthy? I can create the Guide and Page if you want.
I am sure we can all agree, more documentation is always a good thing :)
Thanks @dydave for the suggestion, which sounds really interesting!
I have updated the Issue Summary, to alert future new arrivals to this issue for the alternative solution in ✨ Use the Accessible Menu library to manage the menu structure Active .
Are there interesting bits from https://julian.pustkuchen.com/en/translate-custom-modules-drupal-8-using... which could get added to this page?
Thanks for confirming and explaining, it's really great. I think you're right about the wording for regular traffic, and actually it may not be needed, after the bot detection method is spelled out. What do you think?
Great suggestion to simplify the path, since like you write, the user probably knows the location.
By the way, DDEV makes it really easy to run test locally:
https://www.drupal.org/docs/develop/automated-testing/phpunit-in-drupal/... →
Thanks @aryan singh, it works great! I am now getting suggestions for Glossify with your MR.
And thanks for the review @Gogowitsch, feel free to change issue "Status" to "Needs work" after leaving a GitLab review.
And indeed, sometimes there are false positives for tests, but the failing tests in this case probably need to be looked at ...
@aryan singh: You can find the actual errors by clicking the red failing test icon between "plain diff" and "MR !182 mergeable", and then the "Tests" tab (link https://git.drupalcode.org/issue/admin_toolbar-3549068/-/pipelines/62985...)
... and they do look legit, like for example:
Name: admin_toolbar_search/src/SearchLinks.php:106
Execution time: 0.00ms
System output: {"type"=>"ERROR", "message"=>"Parameter $logger_factory of method Drupal\\admin_toolbar_search\\SearchLinks::__construct() has invalid type Drupal\\admin_toolbar_search\\Drupal\\Core\\Logger\\LoggerChannelFactoryInterface."}
From https://git.drupalcode.org/issue/admin_toolbar-3549068/-/pipelines/62985...
Thanks @imclean for clarifying, and that the metrics may just show that the module works well, I really appreciate it.
Your suggestion of possibly mentioning other modules, which perform this exact function (embed one view in another) on the project page makes total sense.
I wanted to see a real use case for this module, and found a great example with Charts by @andileco:
https://www.drupal.org/docs/8/modules/charts/charts-howtos-0/50x-creatin... →
> https://www.linkedin.com/posts/daniel-cothran-43878218_drupal-charts-dat...
It may not be related, but I ran into a cache challenge as well. To reliably reproduce stale cache behaviour, the order of steps was crucial, and I needed to rebuild the caches at a certain, to populate them.
Thanks @rodrigoaguilera for a very fast resolution, and fix in the other issue.
Thanks for all your work on this module @jibran, I realized today how many modules overlap in this space in 📌 Elaborate how this project distinguish from others Active .
This module stands out a little, being "Minimally maintained", slightly low GitLab activity and 11 RTBC issues for modern Drupal ... I wonder if a link to alternative modules could be considered added on the project page to Comparison of Views embedded field modules → ?
Should EVA be added as well? https://www.drupal.org/project/eva →
I agree, there are many overlapping modules in this space :)
As a start, I added Entity Extra Field on the comparison page, perhaps someone with more in-depth knowledge can add some more details?
https://www.drupal.org/docs/extending-drupal/contributed-modules/compari... →
Thanks everyone for fixing this! Perhaps @mlncn and @strykaizer should be credited for reviewing, committing, and so on? Thanks!
Thanks @ifrik, I like the new formatting a lot, it makes it much easier to read.
But most importantly, thanks for describing two easy methods to verify if all entities are loaded from Solr or not. I never managed to do this. Recently I rebuild my Solr set up, but forgot to enable "Retrieve result data from Solr", so it wasn't active at all! After that was fixed, I got some stray node ID's, it turns out because some fields were empty. After filling the fields, all nodes are now loaded from Solr, so I am very grateful you took the time to document it.
@alexh: Like you write, many modern AI bots often use different IP's and pose as regular users. So I use the same setting for both regular users and bots.
You ask: "Is there an option to further limit requests, e.g. disregard the User-Agent and only block by IP?"
I wondered that myself, and would have liked this option. So since the question "Is there a log which shows if any limits by this module have been triggered?" has been answered, perhaps this issue is actually a feature request now, and if adding a new, pure IP-based option for all traffic should be considered?
Thanks for the encouraging words @geek-merlin. It means a lot to me, to get my thoughts confirmed by an experienced Drupal developer, since I am more of a Drupal Site Builder. And thanks for working on great modules that I use and love, like Entity Prepopulate, Asset Injector, etc.
I do understand how some changes can take time (for different reasons) but this issue is only a few weeks old, so let's see :)
Your idea looks very interesting, and I'll surely check it out, and contact you for further discussion.
PS. Adding intro text and Views Flipped Table example.
I agree, and as a start, maybe add a prominent info box at the top of the project page?
Replaced by Asset Injector
The module has been replaced with Asset Injector → , please use that instead.
Yes, please add a prominent info box at the top of the project page:
Replaced by Asset Injector
The module has been replaced with Asset Injector → , please use that instead.
Looks good, thanks -- this small change will improve the usefulness of these pages a lot.
Thanks for asking @mlncn and @drumm for responding, I have added it in the Issue Summary.
Thanks @dagmar for all your work on the other issue, I very much appreciate it!
I wonder if this issue should be re-opened and added as a child issue to 📌 Make dblog entities Postponed ? Since it does not look to me like new Views pages are added, or maybe I just missed them?
I personally would love it, if the "Page not found" page could be expanded with a time-filter, so you can limit to "Last day" or "Last seven day" and maybe a text filter as well?
Clarify in the Issue Summary that the 3365751-add-more-details branch and MR for the existing/jump-start/solr9
JumpStart was created to give users a temporary solution, until documentation for a full-fledged production-ready Solr instance with three ZooKeeper nodes and three Solr nodes is ready.
Perhaps when 📌 Make dblog entities Postponed is committed, adding this feature could be a potential follow up issue?
Thanks @smustgrave, @dagmar, and everyone else for working on this.
I was looking at the "Top 'page not found' errors" (/admin/reports/page-not-found
) and "Top 'access denied' errors" (/admin/reports/access-denied
) report pages today, and needed to see recent entries, for the last week.
This was not possible, since currently it seems to simply list all entries directly from the database log table. I wondered if I could somehow reset them, but that would probably mean emptying the db log, which I also don't want ...
So I hope this issue can get revived and pushed over the finishing line, since it seems close, and would be a great improvement in Drupal, and give much more flexibility all round. Thanks!
PS. Perhaps adding a feature like a time-range for "Top 'page not found' errors" (/admin/reports/page-not-found
) and "Top 'access denied' errors" (/admin/reports/access-denied
) report pages should be handled in a follow up issue?
I was also looking at the "Top 'page not found' errors" (/admin/reports/page-not-found
) and "Top 'access denied' errors" (/admin/reports/access-denied
) report pages today, and needed to see recent entries, for the last week. It looks like
📌
Make dblog entities
Postponed
may enhance the features for those pages, and the Logging system generally.
Thanks for showing understanding to non-coders :)
As a quick win, the first line in the project page description could also be updated to cover both coders and non-coders?
"Prepopulate any node or term field (or any entity) with Token values."
Personally, I would always search for "node token prefill" or something like that, I have never searched for the word "entity", like most non-coders as well.
I needed to set up a new Solr server, and now know I have to increase "Default result rows". But it's hidden under a collapsed "Advanced" fieldset, which probably means that many new users miss this crucial setting, so I created 📌 Show Default result rows and rename Advanced tab Active .
What if we add https://www.drupal.org/project/views_pretty_paths/ → in the mix as well ... would that need special consideration?
Move Facets and Field Group contrib modules examples to their own section.
Add links to Olivero template files, and show two benefits.
Thanks for being open to an update @vaish.
Thinking more about this -- if Drupal Redis is already installed and running, then a user will probably not need to read those three steps, and can just skip them altogether, right? That way a new user can get started using the module faster.
It will also make it less daunting to set up this module, since it may look like it's mostly for advanced users, when it's not that difficult.
So maybe we can make it clear to the user from the very top of the "Redis backend" section, that Crawler Rate Limit probably works well with Drupal Redis without further configuration, if Drupal Redis is already installed and working well?
I have created a first proposal, which can of course be revised, what do you think?
You're welcome @vaish, and thank you for making an incredible module. It reduced the Bot strain a lot, and the server CPU usage went down from averaging ~90% to ~12%.
And perfect with the new release, I now get the latest Version 3 with composer require drupal/crawler_rate_limit
.
Nice, thanks @grzegorz.bartman!
I assume it's intentional that http
is used and not https
. It's rare that you see it, these days ...
Add Contrib module Field Group labels example from #3114825-30: Document how to translate field group labels and descriptions → .
Another solution would be to register the Field group label's Twig variable (called title
) as a translatable string, by overriding the output line in the Twig template file /templates/field-group-html-element.html.twig
, enabling using the easier Interface Translation.
From :
<{{ title_element }}{{ title_attributes }}>{{ title }}</{{ title_element }}>
To:
<{{ title_element }}{{ title_attributes }}>{{ title|render|render|trans }}</{{ title_element }}>
For more about this approach, and not using Configuration Translation, see #3549927: Streamline translation of Views block titles, custom menu titlec, etc.: Allow Interface Translation → .
I was just reminded of the amazing documentation page Search API Solr HowTos > Add a new server → by @oanailea, which is extremely helpful, since it goes through the process, step by step.
I have adjusted the Issue Summary, since I think that a documentation page for Solr Cloud in that style would help many Solr, users who are at a loss on how to set it up.
The text is still ambiguous:
Enter one page per line as Drupal paths. Begin link with leading slash. The '*' character is a wildcard. Example paths are blog for the blog page and blog/* for every personal blog. <front> is the front page.
If it needs a leading slash, shouldn't it be /blog and /blog/*?
Heh, thanks for the comment @mlncon! The best feedback is from those actually facing the task.
It's all about making project administration less burdensome for the project maintainers, and your suggestion is great -- whatever the chosen method will be, the synced versions will make it easier for contributors to always target the correct branch, and we will all profit :)
I see that also these projects could benefit with having the default branch updated?:
- https://git.drupalcode.org/project/convert_media_tags_to_markup
- https://git.drupalcode.org/project/realistic_dummy_content
- https://git.drupalcode.org/project/uli_custom_workflow
- https://git.drupalcode.org/project/entity_delete_log
- https://git.drupalcode.org/project/closest_zip_code
- https://git.drupalcode.org/project/entity_inherit
- https://git.drupalcode.org/project/multiaccess
I am a great fan of Realistic Dummy content :)
Thanks for making a great module here @alberto56!
Perhaps the default GitLab version could be set to version 5.x? https://git.drupalcode.org/project/expose_status
I was visiting the page, and reading about Drupal 9 readiness, when it hit me -- "This seems outdated" :)
I created ✨ Gently nudge project managers to update default GitLab, when relevant Active , and feedback from actual module maintainers like you would be really nice, and help solve this task, so feel free to leave a comment.
In a related task, I needed to find users without a subscription, and ended up using Aggregation to count the number of subscriptions, and listed them at the top:
uuid: 12851ec7-1fe0-477e-87d7-9e2c62c5d752
langcode: en
status: true
dependencies:
module:
- simplenews
id: simplenews_status
label: 'Subscription status'
module: views
description: ''
tag: ''
base_table: simplenews_subscriber
base_field: id
display:
default:
id: default
display_title: Default
display_plugin: default
position: 0
display_options:
title: 'Subscription status'
fields:
user_name:
id: user_name
table: simplenews_subscriber
field: user_name
relationship: none
group_type: group
admin_label: ''
entity_type: simplenews_subscriber
plugin_id: simplenews_user_name
label: User name
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
edit_simplenews_subscriber:
id: edit_simplenews_subscriber
table: simplenews_subscriber
field: edit_simplenews_subscriber
relationship: none
group_type: group
admin_label: ''
entity_type: simplenews_subscriber
plugin_id: entity_link_edit
label: Edit
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
text: edit
output_url_as_text: false
absolute: false
subscriptions_target_id:
id: subscriptions_target_id
table: simplenews_subscriber__subscriptions
field: subscriptions_target_id
relationship: none
group_type: count
admin_label: ''
entity_type: simplenews_subscriber
entity_field: subscriptions
plugin_id: field
label: Antal
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: false
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: target_id
type: entity_reference_label
settings:
link: true
group_column: target_id
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
set_precision: false
precision: 0
decimal: .
format_plural: 0
format_plural_string: !!binary MQNAY291bnQ=
prefix: ''
suffix: ''
subscriptions_target_id_1:
id: subscriptions_target_id_1
table: simplenews_subscriber__subscriptions
field: subscriptions_target_id
relationship: none
group_type: group
admin_label: ''
entity_type: simplenews_subscriber
entity_field: subscriptions
plugin_id: field
label: Subscriptions
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: target_id
type: entity_reference_label
settings:
link: true
group_column: entity_id
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
mail:
id: mail
table: simplenews_subscriber
field: mail
relationship: none
group_type: group
admin_label: ''
entity_type: null
entity_field: mail
plugin_id: field
label: E-mail
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: basic_string
settings: { }
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
pager:
type: mini
options:
offset: 0
pagination_heading_level: h4
items_per_page: 10
total_pages: null
id: 0
tags:
next: ››
previous: ‹‹
expose:
items_per_page: false
items_per_page_label: 'Number of elements'
items_per_page_options: '5, 10, 25, 50'
items_per_page_options_all: false
items_per_page_options_all_label: '- All -'
offset: false
offset_label: Offset
exposed_form:
type: basic
options:
submit_button: Execute
reset_button: false
reset_button_label: Restore
exposed_sorts_label: 'Sort by'
expose_sort_order: true
sort_asc_label: Asc
sort_desc_label: Desc
access:
type: none
options: { }
cache:
type: tag
options: { }
empty: { }
sorts:
subscriptions_target_id:
id: subscriptions_target_id
table: simplenews_subscriber__subscriptions
field: subscriptions_target_id
relationship: none
group_type: count
admin_label: ''
entity_type: simplenews_subscriber
entity_field: subscriptions
plugin_id: standard
order: ASC
expose:
label: Subscriptions
field_identifier: count
exposed: false
arguments: { }
filters: { }
style:
type: table
options:
grouping: { }
row_class: ''
default_row_class: true
columns:
user_name: user_name
subscriptions_target_id: subscriptions_target_id
mail: mail
default: '-1'
info:
user_name:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
subscriptions_target_id:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
mail:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
override: true
sticky: false
summary: ''
empty_table: false
caption: ''
description: ''
row:
type: fields
query:
type: views_query
options:
query_comment: ''
disable_sql_rewrite: false
distinct: false
replica: false
query_tags: { }
relationships: { }
group_by: true
header: { }
footer: { }
display_extenders: { }
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url.query_args
tags: { }
page_1:
id: page_1
display_title: Page
display_plugin: page
position: 1
display_options:
display_extenders:
metatag_display_extender:
metatags: { }
tokenize: false
path: admin/simplenews-status
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url.query_args
tags: { }
No problem at all! Thanks for updating the documentation in the first place, we need more active documenters like you, me, @hansfn, etc. :)
https://www.drupal.org/documentation/manage →
Actually, looking at that page and seeing all the activity is heartening -- Drupal's documentation is continually being expanded and updated, even if some complainers say otherwise.
Also posted in the Forum:
https://www.drupal.org/forum/support/post-installation/2025-10-07/create... →
An issue #3550852: create crossword from node body instead of file upload → was also created ...
Add link to Drupal 10 release https://www.drupal.org/project/tarpit/releases/8.x-1.1 → .
There actually is a Drupal 10 version that works well after a patch 📌 Coding Standards for D8 Version Needs work .
Fantastic @dydave, great work with reworking more tests, it's awesome!
I will try to look at them, and see if I can contribute anything, and hope it's not too complicated for me to understand.
Have a great day!
Great that you found a solution @dirke! Though, you should consider giving Composer a chance -- I warmly recommend that you install DDEV, and start experimenting and familiarize yourself with it.