Account created on 31 January 2008, over 16 years ago
#

Recent comments

🇺🇸United States emptyvoid

Ditto, confirmed.
Just updated staging build of project and this caused a total 500 error failure on all endpoints and displays.

Drupal: 10.2.7
Php: 8.2
Acquia Search: 3.1.11

PHP Fatal error:  Declaration of Drupal\acquia_search\Plugin\SolrConnector\SearchApiSolrAcquiaConnector::setEventDispatcher(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher $eventDispatcher): Drupal\search_api_solr\SolrConnectorInterface must be compatible with Drupal\search_api_solr\SolrConnector\SolrConnectorPluginBase::setEventDispatcher(Symfony\Component\EventDispatcher\EventDispatcherInterface $eventDispatcher): Drupal\search_api_solr\SolrConnectorInterface in /srv/drupal/hudoig-d10/dev/code/hudoigd10/docroot/modules/contrib/acquia_search/src/Plugin/SolrConnector/SearchApiSolrAcquiaConnector.php on line 136

Fatal error: Declaration of Drupal\acquia_search\Plugin\SolrConnector\SearchApiSolrAcquiaConnector::setEventDispatcher(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher $eventDispatcher): Drupal\search_api_solr\SolrConnectorInterface must be compatible with Drupal\search_api_solr\SolrConnector\SolrConnectorPluginBase::setEventDispatcher(Symfony\Component\EventDispatcher\EventDispatcherInterface $eventDispatcher): Drupal\search_api_solr\SolrConnectorInterface in /srv/drupal/hudoig-d10/dev/code/hudoigd10/docroot/modules/contrib/acquia_search/src/Plugin/SolrConnector/SearchApiSolrAcquiaConnector.php on line 136
 [warning] Drush command terminated abnormally.
🇺🇸United States emptyvoid

Found a bug where the group custom template was rendering on all grouped rows instead of explicitly only for views_accordion row format styles. This newer version correctly loads the group template only on views using the views_accordion format style.

Works great!

🇺🇸United States emptyvoid

hmm,

I rerolled the patch and had to debug the code as it just didn't seem to be written to actually work. Anyway I fixed the bugs and I have it running on my local build and it's rendering using the ARIA principles!!

Wahoo!

Now who can actually commit this as a pull request and or get it releasable?

🇺🇸United States emptyvoid

Why is the arrow icon not using a ascii character over multiple before/after styles?

.ckeditor-accordion-container > dl dt > a > .ckeditor-accordion-toggle:before {
    content: "\2039";
    display: inline-block;
    position: absolute;
    left: 18px;
    -webkit-transform: rotateZ(180deg);  /* Chrome, Opera 15+, Safari 3.1+  */
    -ms-transform: rotateZ(180deg);  /* IE 9 */
    transform: rotateZ(180deg);
}

.ckeditor-accordion-container dl dt:hover .ckeditor-accordion-toggle:before,
.ckeditor-accordion-container dl dt.active .ckeditor-accordion-toggle:before {
    left: 12px;
    -webkit-transform: rotateZ(-90deg);  /* Chrome, Opera 15+, Safari 3.1+  */
    -ms-transform: rotateZ(-90deg);  /* IE 9 */
    transform: rotateZ(-90deg);
}
🇺🇸United States emptyvoid

Drupal 10.2.7
Ckeditor 5
ckeditor_accordion 2.1.0

The patch causes a white screen of death on my build.
Especially once I enable the input filter.

composer package snippet

{
            "type": "package",
            "package": {
                "name": "smillart/wai-aria-patterns-and-widgets",
                "version": "1.0.6",
                "type": "drupal-library",
                "dist": {
                    "url": "https://github.com/digital-analytics-program/gov-wide-code/archive/refs/heads/master.zip",
                    "type": "zip"
                },
                "require": {
                    "composer/installers": "^2"
                }
            }
        }

Ideally the interface of the accordion html would enable simple keyboard control of each accordion.
https://www.w3.org/WAI/ARIA/apg/patterns/accordion/

Having built a add-on module for the views_accordion module, having the header be a actual button tag enables basic keyboard control on click behaviors for opening and closing the content panel. Also adding tabindex="0" ensures it can be targeted by keyboard and screen readers.

🇺🇸United States emptyvoid

(facepalm)
I was missing the root /

Apply this patch at the root of the facets module.

🇺🇸United States emptyvoid

Doh, attaching patch based on the scope of the facets module instead of the root of my project.

🇺🇸United States emptyvoid

Manually applied patches and rerolled the patch using Facets 2.0 to Drupal 10.2.4

🇺🇸United States emptyvoid

To elaborate on the but.

When loading the drupal 10 basic default theme.
Creating a view listing all content and add paging, turn on ajax.
Go to the page and test ajax paging..

Broken.

I attempted to test with the basic theme verses barrio.
Neither work.

I have been investigating this issue for a while and this isn't a bootstrap theme issue.
This is a Drupal 10 core issue. It has been broken since release. And there are multiple components and sub-systems which are broken. From the base ajax classes, views, media, etc.

Broad changes were enacted by certain maintainers of core without proper testing nor any attempt to fix the conflicts.
Though from the 2+ year old issue queues I'm participating on. Some folks have provided patches and fixes. But it is being applied to Drupal 11 and none of the Drupal 10 releases?

So break core systems and ajax features and punt on it for a full version release..
How does that make sense?

🇺🇸United States emptyvoid

Not that this helps with Drupal 10 or the never version.
But here is a extension I built for Drupal 8.
If I have a new version I'll release it here.

https://github.com/ExeQutDev/superfish_aria

🇺🇸United States emptyvoid

Great example for the jQuery behaviors.
have to successfully loaded it in a theme or custom module harness?

Some notes on compliance I've researched are:
Please note the navigation component provides both a desktop and mobile navigation interface and both will need to be audited, assessed, and development considerations applied to make it compliant.
https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/me...
https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/me...
https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/me...
https://www.w3.org/WAI/ARIA/apg/patterns/menubar/

Navigation Menu Example:
https://www.w3.org/WAI/ARIA/apg/patterns/menubar/examples/menubar-naviga...

I'll be evaluating version 8 and the 2 branch to determine if the JavaScript library and integration module for Superfish can support being fully compliant. Otherwise I'll have to research alternatives or (sigh) build a custom menuing module myself. :(

Currently there are none, NO MODULE for menuing which is ARIA and 508 compliant with Keyboard or screen reader usability.
Not even Drupal's Core menuing systems are compliant.

This is pretty shameful considering the whole "accessibility" portal the Drupal Org and Acquia pushes. Sadly it is more FUD and advertising over actual action. Lots of words and little to no actual modules that are compliant.
https://www.drupal.org/about/features/accessibility

I guess it's left up to individuals to get it done.
Now if it could actually be committed into official releases..

I'll post any improvements or working custom modules that other cold leverage.

🇺🇸United States emptyvoid

I humbly submit this custom module, which extends the core facet checkbox behaviors to add ARIA attributes.

🇺🇸United States emptyvoid

Re-rolled patch to be based on the root of the module.

🇺🇸United States emptyvoid

created a new patch with some missing elements for the results class..
But it looks like I can't upload patches anymore so..

🇺🇸United States emptyvoid

I'm getting the same error any attempt on drupal or via update.php in the browser fails.

drush updatedb
 -------- ------------------- ------------- --------------------------------- 
  Module   Update ID           Type          Description                      
 -------- ------------------- ------------- --------------------------------- 
  views    taxonomy_filter_u   post-update   Removes User context from views  
           ser_context                       with taxonomy filters.           
 -------- ------------------- ------------- --------------------------------- 
>  [notice] Update started: views_post_update_taxonomy_filter_user_context
>  [error]  Attempt to save a configuration entity 'resource_fc_educator_toolkit' with UUID '00047496-17b5-478f-b1bc-4dbd21dfea40' when this UUID is already used for 'resource_fc_educator_toolkitt' 
>  [error]  Update failed: views_post_update_taxonomy_filter_user_context 
 [error]  Update aborted by: views_post_update_taxonomy_filter_user_context 
 [error]  Finished performing updates. 

The thing is the signature 'resource_fc_educator_toolkitt' doesn't exist.
The original 'resource_fc_educator_toolkit' does exist. backing up and testing and manually removing the view doesn't fix the issue..
The update still fails with the same error even after running cron, cache rebuild, etc.

It's blocking the database update for Drupal 10.2.1 on my build.

🇺🇸United States emptyvoid

Helps if I upload the zip too.

🇺🇸United States emptyvoid

I humbly submit this svg icon I made for the button.
Note: I had to wrap it in a zip file to upload.. just extract and review.

🇺🇸United States emptyvoid

Confirmed.
Upgraded to PHP 8.2 and Drupal 10.1.7

Suddenly CSV could not be read throwing this error:

[error] Could not retrieve source count from migrate_ct_open_rec: The header mapper indexes should only contain positive integer or 0.

While it should display the migration definition using drush ms
It would error every time and not count records in the source file nor updates or new records.

Applied this patch and now it reads the file.

Can issue commands again:
drush mr test_migration_name
drush ms test_migration_name --update --sync

etc.

🇺🇸United States emptyvoid

While technically the listed patch is for the 2.x branch applying it to the 3.x branch suppresses the error.

https://www.drupal.org/files/issues/2023-01-26/3336646-2.patch

🇺🇸United States emptyvoid

Awesome work!

I'm gonna review your work as it's really unclear where to define GUI elements in the Drupal API verses the CkEditor 5 API.
I burned about a month attempting to help the management team for this module with some success.

https://www.drupal.org/project/ckeditor_bootstrap_grid

We'll see if your work can provide some light at the end of the tunnel.

🇺🇸United States emptyvoid

Sure thing, here is a copy of the fast_404 settings file.
I am not even close to feeling sure I've configured it correctly.

<?php

// @codingStandardsIgnoreFile

/**
 * @file
 * Fast 404 settings.
 *
 * Fast 404 will do three separate types of 404 checking.
 *
 * The first is to check for URLs which appear to be files or images. If Drupal
 * is handling these items, then they were not found in the file system and are
 * a 404.
 *
 * The second is to check whether or not the URL exists in Drupal by checking
 * with the menu router, aliases and redirects. If the page does not exist, we
 * will serve a Fast 404 error and exit.
 *
 * The third is to listen to the KernelRequest event. If Drupal returns a
 * NotFoundHttpException exception, Fast 404 can intervene and serve a Fast 404
 * error and exit.
 */

/**
 * Disallowed extensions. Any extension set here will not be served by Drupal
 * and will get a Fast 404. This will not affect actual files on the filesystem
 * as requests hit them before defaulting to a Drupal request.
 *
 * Default extension list, this is considered safe and matches the list provided
 * by Drupal 8's $config['system.performance']['fast_404']['paths'].
 *
 * Default value for this setting is shown below.
 */
 $settings['fast404_exts'] = '/^(?!\/robots)^(?!\/system\/files).*\.(txt|png|gif|jpe?g|css|js|ico|swf|flv|cgi|bat|pl|dll|exe|asp)$/i';

/**
 * Allow anonymous users to hit URLs containing 'styles' even if the file
 * does not exist. TRUE is default behavior. If you know all image style
 * variations are already made set this to FALSE.
 *
 * Default value for this setting is TRUE.
 */
# $settings['fast404_allow_anon_imagecache'] = FALSE;

/**
 * BE CAREFUL with this setting as some modules use their own php files and you
 * need to be certain they do not bootstrap Drupal. If they do, you will need to
 * whitelist them too.
 *
 * Default value for this setting is FALSE.
 */
# $settings['fast404_url_whitelisting'] = TRUE;

/**
 * Array of allowed files/urls. Used if URL whitelisting is set to TRUE.
 *
 * Default value for this setting is an empty array.
 */
# $settings['fast404_whitelist'] = ['index.php', 'rss.xml', 'install.php', 'cron.php', 'update.php', 'xmlrpc.php'];

/**
 * Array of allowed URL fragment strings that conflict with Fast 404.
 *
 * Default value for this setting is FALSE.
 */
# $settings['fast404_string_whitelisting'] = ['/admin', '/cdn/ff', '/advagg_'];

/**
 * When Fast 404 checks for missing file assets, it will return a response
 * containing the message set in the fast404_html settings. You can override
 * this behavior with this setting and return the HTML from the file set in the
 * fast404_HTML_error_page setting.
 *
 * Default value for this setting is FALSE.
 */
# $settings['fast404_HTML_error_all_paths'] = TRUE;

/**
 * Subscribe to NotFoundHttpException event.
 *
 * The Fast 404 Event subscriber can listen to the NotFoundHttpException event
 * to completely replace the Drupal 404 page.
 *
 * By default, Fast 404 only listens to KernelRequest event. If a user hits a
 * valid path, but another module intervenes and returns a NotFoundHttpException
 * exception, e.g. m4032404 module, the native Drupal 404 page is returned
 * instead of the Fast 404 page.
 *
 * Default value for this setting is FALSE.
 */
 $settings['fast404_not_found_exception'] = TRUE;

/**
 * Path checking. USE AT YOUR OWN RISK.
 *
 * Path checking at this phase is more dangerous, but faster. Normally
 * Fast 404 will check paths during Drupal bootstrap via an early Event.
 * While this setting finds 404s faster, it adds a bit more load time to
 * regular pages, so only use if you are spending too much CPU/Memory/DB on
 * 404s and the trade-off is worth it.
 *
 * This setting will deliver 404s with less than 2MB of RAM.
 *
 * Default value for this setting is FALSE.
 */
# $settings['fast404_path_check'] = TRUE;

/**
 * If you would prefer a stronger version of NO then return a 410 instead of a
 * 404. This informs clients that not only is the resource currently not
 * present but that it is not coming back and kindly do not ask again for it.
 * Reference: http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
 *
 * Default value for this setting is FALSE.
 */
 $settings['fast404_return_gone'] = TRUE;

/**
 * If you use FastCGI, uncomment this line to send the type of header it needs.
 * Reference: http://php.net/manual/en/function.header.php
 *
 * Default value for this setting is 'mod_php'.
 */
# $settings['fast404_HTTP_status_method'] = 'FastCGI';

/**
 * Default Fast 404 error message.
 *
 * Default value for this setting is shown below. The '@path' token will be
 * replaced by the the path being requested relative to the executed script.
 */
 $settings['fast404_html'] = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL "@path" was not found on this server.</p></body></html>';

/**
 * By default we will show a super plain 404, because usually errors like this
 * are shown to browsers who only look at the headers. However, some cases
 * (usually when checking paths for Drupal pages) you may want to show a
 * regular 404 error. In this case you can specify a URL to another page and it
 * will be read and displayed (it can't be redirected to because we have to
 * give a 30x header to do that. This page needs to be in your docroot.
 *
 * Default value for this setting is FALSE.
 */
# $settings['fast404_HTML_error_page'] = './my_page.html';

/**
 * Default value for this setting is FALSE. This setting needs to be enabled,
 * so that fast 404 respects the redirect module.
 */
 $settings['fast404_respect_redirect'] = TRUE;

/**
 * Load the fast404.inc file.
 *
 * This is needed if you wish to do extension checking in settings.php.
 *
 * WARNING: This is not fully implemented and not ready to use.
 * @see: https://www.drupal.org/project/fast_404/issues/2961512
 *
 */
# if (file_exists($app_root . '/modules/contrib/fast_404/fast404.inc')) {
#   include_once $app_root . '/modules/contrib/fast_404/fast404.inc';
#   fast404_preboot($settings);
# }

🇺🇸United States emptyvoid

Experiencing this error on a fresh code base installed using Composer on Drupal 10.1.5
Loading a Drupal 9 database snapshot and then issuing drush updatedb.

Update hangs:

------------------ ------------- ------------- ------------------------------- 
  Module             Update ID     Type          Description                    
 ------------------ ------------- ------------- ------------------------------- 
  editor             image_lazy_   post-update   Enable filter_image_lazy_load  
                     load                        if editor_file_reference is    
[notice] Update started: editor_post_update_image_lazy_load
>  [error]  The "filter_ckeditor_accordion" plugin does not exist. Valid plugin IDs for Drupal\filter\FilterPluginManager are: editor_file_reference, entity_embed, filter_autop, filter_url, filter_image_lazy_load, filter_html, filter_align, filter_html_image_secure, filter_htmlcorrector, filter_null, filter_caption, filter_html_escape, media_embed, views_embed 
>  [error]  Update failed: editor_post_update_image_lazy_load 
 [error]  Update aborted by: editor_post_update_image_lazy_load 

Drupal 10.1.5
Ckeditor 5
ckeditor_accordion 2.0.3

Won't allow for update in place and no upgrade path.

🇺🇸United States emptyvoid

Used patch in #19 using Drupal 10.1.5

Flipping the boolean to false allows me to upgrade the target fields and skip those that are not relevant to the update.
There by properly completing the update and enabling the ability to release future update hooks both for contrib and custom modules.

🇺🇸United States emptyvoid

I've got this issue in Drupal 9 and Drupal 10.
Having the body field or content fields with both editorial content as well as full HTML on larger pages causes this local field validation to fail every single time.

I have to patch each release so that the 10,000+ records and updates will actually complete in my builds.

Most recent Patch attached.
This commits to both Drupal 9.5.10 and Drupal 10.1.2

🇺🇸United States emptyvoid

Switching the validation to false (as in skip invalid or non-existant classes) doesn't stop reporting errors. But it does allow for the update to complete and allow subsequent updates to run.

------- --------------- ------------- -------------------------------------- 
  Module   Update ID       Type          Description                           
 -------- --------------- ------------- -------------------------------------- 
  system   timestamp_for   post-update   Update timestamp formatter settings   
           matter                        for entity view displays.             
  text     allowed_forma   post-update   Add allowed_formats setting to        
           ts                            existing text fields.                 
  views    boolean_custo   post-update   Update Views config schema to make    
           m_titles                      boolean custom titles translatable.   
  views    fix_revision_   post-update   Fix '-revision_id' replacement token  
           id_part                       syntax.                               
  views    oembed_eager_   post-update   Add eager load option to all oembed   
           load                          type field configurations.            
  views    responsive_im   post-update   Add lazy load options to all          
           age_lazy_load                 responsive image type field           
                                         configurations.                       
  views    timestamp_for   post-update   Update timestamp formatter settings   
           matter                        for views.                            
 -------- --------------- ------------- -------------------------------------- 


 Do you wish to run the specified pending updates? (yes/no) [yes]:
 > 

>  [notice] Update started: system_post_update_timestamp_formatter
>  [warning] Trying to access array offset on value of type null system.post_update.php:75
>  [warning] Trying to access array offset on value of type null system.post_update.php:75
>  [warning] Trying to access array offset on value of type null system.post_update.php:75
>  [warning] Trying to access array offset on value of type null system.post_update.php:75
>  [warning] Trying to access array offset on value of type null system.post_update.php:75
>  [warning] Trying to access array offset on value of type null system.post_update.php:75
>  [warning] Trying to access array offset on value of type null system.post_update.php:75
>  [warning] Trying to access array offset on value of type null system.post_update.php:75
>  [warning] Trying to access array offset on value of type null system.post_update.php:75
>  [warning] Trying to access array offset on value of type null system.post_update.php:75
>  [warning] Trying to access array offset on value of type null system.post_update.php:75
>  [notice] Update completed: system_post_update_timestamp_formatter
>  [notice] Update started: text_post_update_allowed_formats
>  [notice] Update completed: text_post_update_allowed_formats
>  [notice] Update started: views_post_update_boolean_custom_titles
>  [notice] Update completed: views_post_update_boolean_custom_titles
>  [notice] Update started: views_post_update_fix_revision_id_part
>  [notice] Update completed: views_post_update_fix_revision_id_part
>  [notice] Update started: views_post_update_oembed_eager_load
>  [notice] Update completed: views_post_update_oembed_eager_load
>  [notice] Update started: views_post_update_responsive_image_lazy_load
>  [notice] Update completed: views_post_update_responsive_image_lazy_load
>  [notice] Update started: views_post_update_timestamp_formatter
>  [notice] Update completed: views_post_update_timestamp_formatter
 [success] Finished performing updates.

Brain dead patch attached.

🇺🇸United States emptyvoid

The plugin that the update is throwing an error is the "link_default" which has existed since Drupal 8.
An export of the base config has it defined for any content type or block content entity with a link field.

drush cex
inspect a form_view config for either type and it's listed right in the config.

YAML for: core.entity_form_display.node.page.default

uuid: 8c39e477-6ce3-4c50-936a-3b9f3993f430
langcode: en
status: true
dependencies:
  config:
    - field.field.node.page.body
    - field.field.node.page.field_link_test
    - node.type.page
  module:
    - link
    - path
    - text
_core:
  default_config_hash: SfpLhPExzvR0MgFp0Wp7CrmgEnhcqQ-fXIWFhbf4ue0
id: node.page.default
targetEntityType: node
bundle: page
mode: default
content:
  body:
    type: text_textarea_with_summary
    weight: 31
    region: content
    settings:
      rows: 9
      summary_rows: 3
      placeholder: ''
      show_summary: false
    third_party_settings: {  }
  created:
    type: datetime_timestamp
    weight: 10
    region: content
    settings: {  }
    third_party_settings: {  }
  field_link_test:
    type: link_default
    weight: 121
    region: content
    settings:
      placeholder_url: ''
      placeholder_title: ''
    third_party_settings: {  }
  path:
    type: path
    weight: 30
    region: content
    settings: {  }
    third_party_settings: {  }
  promote:
    type: boolean_checkbox
    weight: 15
    region: content
    settings:
      display_label: true
    third_party_settings: {  }
  status:
    type: boolean_checkbox
    weight: 120
    region: content
    settings:
      display_label: true
    third_party_settings: {  }
  sticky:
    type: boolean_checkbox
    weight: 16
    region: content
    settings:
      display_label: true
    third_party_settings: {  }
  title:
    type: string_textfield
    weight: -5
    region: content
    settings:
      size: 60
      placeholder: ''
    third_party_settings: {  }
  uid:
    type: entity_reference_autocomplete
    weight: 5
    region: content
    settings:
      match_operator: CONTAINS
      match_limit: 10
      size: 60
      placeholder: ''
    third_party_settings: {  }
hidden: {  }

Adding a conditional check for "null" strings, objects and arrays may stop this from blocking valid updates.

🇺🇸United States emptyvoid

This error appeared with a vanilla build of Drupal 10.1 and via composer upgraded to 10.1.2 and issued drush updatedb
Can't move passed this error..

 -------- --------------- ------------- -------------------------------------- 
  Module   Update ID       Type          Description                           
 -------- --------------- ------------- -------------------------------------- 
  system   timestamp_for   post-update   Update timestamp formatter settings   
           matter                        for entity view displays.             
  text     allowed_forma   post-update   Add allowed_formats setting to        
           ts                            existing text fields.                 
  views    boolean_custo   post-update   Update Views config schema to make    
           m_titles                      boolean custom titles translatable.   
  views    fix_revision_   post-update   Fix '-revision_id' replacement token  
           id_part                       syntax.                               
  views    oembed_eager_   post-update   Add eager load option to all oembed   
           load                          type field configurations.            
  views    responsive_im   post-update   Add lazy load options to all          
           age_lazy_load                 responsive image type field           
                                         configurations.                       
  views    timestamp_for   post-update   Update timestamp formatter settings   
           matter                        for views.                            
 -------- --------------- ------------- -------------------------------------- 


 Do you wish to run the specified pending updates? (yes/no) [yes]:
 > 

>  [notice] Update started: system_post_update_timestamp_formatter
>  [warning] Trying to access array offset on value of type null system.post_update.php:75
>  [warning] Trying to access array offset on value of type null system.post_update.php:75
>  [warning] Trying to access array offset on value of type null system.post_update.php:75
>  [warning] Trying to access array offset on value of type null system.post_update.php:75
>  [warning] Trying to access array offset on value of type null system.post_update.php:75
>  [warning] Trying to access array offset on value of type null system.post_update.php:75
>  [warning] Trying to access array offset on value of type null system.post_update.php:75
>  [warning] Trying to access array offset on value of type null system.post_update.php:75
>  [warning] Trying to access array offset on value of type null system.post_update.php:75
>  [warning] Trying to access array offset on value of type null system.post_update.php:75
>  [warning] Trying to access array offset on value of type null system.post_update.php:75
>  [error]  The "link_default" plugin does not exist. Valid plugin IDs for Drupal\Core\Field\FormatterPluginManager are: address_country_default, address_zone_default, address_default, address_plain, chart_config_default, comment_default, comment_username, comment_permalink, datetime_custom, datetime_plain, datetime_time_ago, datetime_default, daterange_default, daterange_custom, daterange_plain, faqfield_definition_list, faqfield_simple_text, faqfield_accordion, faqfield_anchor_list, faqfield_details, field_token_value_text, file_table, file_url_plain, file_link, file_default, file_rss_enclosure, file_uri, file_video, file_extension, file_filemime, file_audio, file_size, fontawesome_icon_formatter, image, image_url, link, link_separate, media_thumbnail, oembed, metatag_empty_formatter, list_key, list_default, redirect_source, responsive_image, solr_highlighted_text_default, solr_highlighted_string, entity_reference_rss_category, telephone_link, text_trimmed, text_summary_or_trimmed, text_default, url_embed, user_name, author, webform_entity_reference_link, webform_entity_reference_url, webform_entity_reference_entity_view, timestamp_ago, string, email_mailto, uri_link, number_unformatted, number_integer, number_decimal, language, entity_reference_entity_id, boolean, timestamp, entity_reference_entity_view, basic_string, entity_reference_label 
>  [error]  Update failed: system_post_update_timestamp_formatter 
>  [warning] Invalid placeholder (severity_level) with string: "%type: @message in %function (line %line of %file)." FormattableMarkup.php:245
>  [warning] Invalid placeholder (exception) with string: "%type: @message in %function (line %line of %file)." FormattableMarkup.php:245
 [error]  Update aborted by: system_post_update_timestamp_formatter 
 [error]  Finished performing updates. 

Originally ran into this while attempting to "Hot swap" a Drupal 9.5.10 to upgrade to Drupal 10.1.2
Hangs at the example sample place.

Pretty much stuck in either build.

🇺🇸United States emptyvoid

Confirmed llewellyn.dawson on the 2.0-dev branch this patches and suppresses the errors!

🇺🇸United States emptyvoid

While running a update_status pass using phpstan the following notices were generated against the latest patched version.

Custom breadcrumbs,  1.0.1
Scanned on Thu, 07/27/2023 - 15:15

FILE: modules/contrib/custom_breadcrumbs/src/BreadcrumbBuilder.php

STATUS         LINE                           MESSAGE                           
--------------------------------------------------------------------------------
Check manually 284  Call to deprecated function file_url_transform_relative().  
                    Deprecated in drupal:9.3.0 and is removed from              
                    drupal:10.0.0. Use                                          
                    Drupal\Core\File\FileUrlGenerator::transformRelative()      
                    instead.                                                    
--------------------------------------------------------------------------------
Check manually 427  Relying on entity queries to check access by default is     
                    deprecated in drupal:9.2.0 and an error will be thrown from 
                    drupal:10.0.0. Call                                         
                    \Drupal\Core\Entity\Query\QueryInterface::accessCheck() with
                    TRUE or FALSE to specify whether access should be checked.  
--------------------------------------------------------------------------------

🇺🇸United States emptyvoid

Note even working, but I've posted a public repo on my work and will check in work thus far as I debug/testing the features as I build it.

Ckeditor 5 - TypeScript Plugin
https://github.com/rfoleyexequt/ckeditor5-bootstrapgrid

🇺🇸United States emptyvoid

Update, made significant progress in the last few weeks.
The key was learning and building my code project using the Ckeditor Package distribution. Utilizing node.js and TypeScript to "build" a editor instance and modeling the classes in TypeScript that auto compiles the source files into JavaScript.

I build out the base structure and now I'm working on the column properties to define one or more breakpoints in the grid. Also going to add commands to insert, edit and delete columns in a row. As well as a menu to add and remove rows and a default container > row > column button.

So Making progress and honestly this was only possible because of the Package repo and node.js compiling along with having the source for CkEditor so that I can audit and use design patterns outlined in the Ckeditor Table plugin.

My goal is to create the core plugin and provide a Git Repo of the raw plugin.
Then I'll work on a new version of the Drupal Module integrating the plugin.
But set your expectations appropriately, this may take me a few more months.

Just in time compile of the plugin so far.

Code Structure (so much more to go)

The battle continues . . .

🇺🇸United States emptyvoid

Hello,
The current proposed plugin does appear to be making progress and provides fixed layouts. But the class names used are not Bootstrap 4/5 compliant.

https://getbootstrap.com/docs/5.0/layout/grid/

So it won't render correctly when a site uses a bootstrap 5 theme.

I'm still struggling with modeling a series of ckeditor 5 plugins to have a more sophisticated feature set. The documentation is truly horrible is not totally lacking.

I've modeled a container > row > column object structure that renders. But I am having a hard time creating attributes and a div class management class to shuffle the column classes from 1-12. The grid plugin can create a new container > row > col placeholder. But editoring the col or row to add properties or classes is proving difficult.

So I started with writing a column focused plugin that makes columns editable objects and now I'm struggling with writing balloon buttons to add and remove columns from the listing.. If I can figure that out the next is attributes for each column and properly adding the multiple col classes for each break point col-xs, col-sm, col-md, col-lg, and the column widths 1 - 12.

As I've been complaining the ckeditor document is non existent and worse it all in type script not native Javascript. I'm considering loading up a converted so I can take examples of key plugin features into javascript so I can learn something. The API documentation has no code examples.. so it requires a lot of trial and error.

No wonder so many of the ckeditor modules are stalled and not upgraded.. this transition is as painful as learning Drupal 8 from Drupal 7.

Anyway I'll keep at it.. just really, really annoyed that the poor documentation on the subject and the abstracted "code samples" which don't seem to compile.

(sigh)

The Battle continues.

🇺🇸United States emptyvoid

Attempting to create a batch with 8.x-dev the repository doesn't appear actually have all of the code in the official release. So I can't create a patch.

ckeditor_accordion/src/Plugin/Filter/CKEditorAccordion.php

-- Line 60
From

// Load the text into a dom object.
    $dom = new \DOMDocument();
    $dom->loadHTML(mb_convert_encoding($text, 'HTML-ENTITIES', 'UTF-8'));
    $xpath = new \DOMXPath($dom);

to line 60

// Load the text into a dom object.
    $dom = new \DOMDocument('1.0');
    libxml_use_internal_errors(true);
    $dom->loadHTML(mb_convert_encoding($text, 'HTML-ENTITIES', 'UTF-8'));
    libxml_clear_errors();
    $xpath = new \DOMXPath($dom);

This properly validates the DOM object and suppresses false negatives for invalid entities.

🇺🇸United States emptyvoid

Confirmed, the most recent release is totally different from the one this patch was issued for.
Would recommend the module maintainers update their source they compile from to properly enable keyboard control.

Based on the ARIA and 503 standards the keyboard behavior allows for tabbing into the menu. But then is controlled by arrow keys up and down for each menu item. And up and down to open and close sub-menus.

That is, it did.. Now this nor the official release work to address this issue at all.

ARIA Standards
https://www.w3.org/WAI/tutorials/menus/flyout/

503 Standards
https://www.w3.org/WAI/policies/united-states/

https://designsystem.digital.gov/components/header/#basic-header-with-me...

🇺🇸United States emptyvoid

The Standards for the Accessible rules define attributes and values which may not be "generic html" entities. But without it the menu will never validate nor be accepted by the US Federal and State governments requiring 503 compliance.

https://www.dol.gov/agencies/ofccp/section-503/compliance-assistance

The current releases including Ckeditor 5 on Drupal 10 is not compliant either.
But I'm not aware any other menu module is compliant at all either.

The new architecture for Drupal 10 is significantly different form this build so upgrading the patch would be seriously challenging for those contributes who didn't write the new module version. If anything can we create a feature request for the new version detailing the requirements and referencing the standards it would need to comply with to pass both government and 3rd party auditors?

🇺🇸United States emptyvoid

I'm running:

node.js - v16.15.0
npm - 8.5.5

Had to recently issued a
npm install
npm audit fix --force

to get it to compile, but running the compile command still works.
gulp styles

I rarely compile the JS nor run the local http server since I hold a local LAMP stack.

🇺🇸United States emptyvoid

So keep in mind that this patch may make the module info Drupal 9/10 compliant it does not make it Ckeditor 5 compliant.
The Ckeditor 5 API has totally changed from Ckeditor 4 so the plugin has to be totally rewritten.

🇺🇸United States emptyvoid

Patch uploaded

ckeditor_accordion-provide-accessible-variant.patch

Demo is inspectable here: https://ncela.ed.gov/facilitating-online-learning

🇺🇸United States emptyvoid

I have a working patch for this version of ckeditor_accordion providing aria compliant tags and events. Which was scanned, audited and approved by the US Federal Government.

I rolled a Patch, built against 8.x-1.x-dev but I'm unsure where to merge or upload it?

🇺🇸United States emptyvoid

emptyvoid made their first commit to this issue’s fork.

🇺🇸United States emptyvoid

Excuse my ignorance, but if the patches do make the module Drupal 10 compliant.
Shouldn't a new release update the info file to list Drupal 10 as supported?

🇺🇸United States emptyvoid

Excuse my ignorance, but if this is indeed done.
Should a new release be issued with the Drupal 10 update to the info file to show it is compliant?

🇺🇸United States emptyvoid

patch against 4.x dev branch including external js to remove 20-30 error timeout and page draw holds.

🇺🇸United States emptyvoid

External resource throwing a 503 error and blocking all requests.
This causes over 20 second hang to render every single screen on all drupal sites using this module.

https://unpkg.com/slide-element@2/dist/index.umd.js

🇺🇸United States emptyvoid

Conducting an investigation and with the update of the embed module I tested taking the output for embedding a view from Ckeditor4 and simply pasted it into the source for a ckeditor5 page.

To my surprise the embed and rendering worked!

I noted in ckeditor4 that the placement of the view embed didn't render in editor mode anymore.
And of course the button and dialog is missing from ckeditor5, since the plugin api has totally changed.

Official Documentation
https://ckeditor.com/docs/ckeditor5/latest/framework/guides/plugins/crea...

Ckeditor5 Dev Tools
https://www.drupal.org/project/ckeditor5_dev

Article Overview on components
https://tech.axelerant.com/create-and-integrate-ckeditor-5-plugin-with-d...

The Challenge is writing a new integration plugin into the current module to use the previous display and lookup methods to embed the templated embed object into the editor.

The input plugin and template parser appear to be working in Drupal 9.5.5 and ckeditor5!

🇺🇸United States emptyvoid

So, this patch registers the icon into the editor configuration for a given input type in Drupal.
And when in edit mode for the body of a page it provide dialog inline in the editor to specify a tab set name and the number of tabs to include.

And that's when it fails.
It doesn't appear to load the templated structure into the DOM in the editor and simply paces two tab titles in a paragraph tag.

CSS fails, Javascript fails.

Though inspecting the code the bootstrapTabs plugin code does appear to be in place for legacy ckeditor4 as well as the new ckeditor5_plugins sub directory with code for a ck5 plugin. I'm not all that up on understanding the SDK and API integration between custom ckeditor5 plugins and the Drupal Plugin SDK and classes for integration.

Sure wish there was some articles and or example code for us to review.

So this is maybe 35% complete?

🇺🇸United States emptyvoid

I compared the two branches to 8.x-dev and the 3310866-ckeditor-5-support branch is identical to the current dev branch.
I then manually merged the ckeditor5-support branch into 8.x-dev.

Patch attached.

I'm attempting to test this using Ckeditor5 on Drupal 9.5.5.. we'll see if it loads.

🇺🇸United States emptyvoid

It's not clear to me how I would generate a patch to the current release or integrate the two very different branches.

🇺🇸United States emptyvoid

Yeah just assume it is for Drupal 10 only.

Since the dependency Dynamic Entity Reference pulled a fast one a few months ago and made everything a hard Drupal 10 only.
Screwed up four modules I'm using that depended on that code.

(sigh)

8.x-1.1 GUIs work but the core detection classes fail completely generation 1000s of issues in watchdog.

Sadly don't have a viable alternative.. have to use 3rd party web crawelers I guess.

Production build 0.69.0 2024