πŸ‡¬πŸ‡§ GMT+0
Account created on 21 May 2013, over 11 years ago
#

Merge Requests

Recent comments

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

mattjones86 β†’ created an issue.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

mattjones86 β†’ made their first commit to this issue’s fork.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

mattjones86 β†’ created an issue.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

mattjones86 β†’ made their first commit to this issue’s fork.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

I have provided more detail, sorry my original explanation was not the best!

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0
πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

Sorry I've not been on Drupal in a while but if I recall, the problem mainly happens when trying to perform a migration from CKEditor 4 to CKEditor 5, in which case you may have both modules installed at the same time.

If you only want to use this plugin on CKEditor 5 you cannot, because installation is blocked unless you also install the separate CKEditor 4 library.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0
πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0
πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0
πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

mattjones86 β†’ created an issue.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

It does, however work properly with fields referencing Media, but again does not let you configure the Media display mode, so will render just using the default.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

I'm also having this issue on 10.2, will report back if I find the issue.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

I think those numbers are misleading due to the default branch on the upstream still being set to 7.x-1.0.

https://git.drupalcode.org/issue/ckeditor_readmore-3388400/-/network/fea...

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

Setting this to RTBC because I think it would be good to have a release out there.

Worked great for me.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

Added .toLowerCase() because for some reason element.innerText uses the CSS styled version.

In our case our CSS styling was applying text-transform: uppercase and this was breaking the toggle.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

mattjones86 β†’ made their first commit to this issue’s fork.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

mattjones86 β†’ made their first commit to this issue’s fork.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

This will need more work because the 10.x core requires guzzlehttp/guzzle:^7.0.

This module requires php-http/guzzle6-adapter, which has a guzzlehttp/guzzle:^6.0 constraint, even on the latest version.

  Problem 1
    - Root composer.json requires drupal/sparkpost dev-3343783-drupal-10-compatibility -> satisfiable by drupal/sparkpost[dev-3343783-drupal-10-compatibility].
    - Conclusion: don't install guzzlehttp/guzzle 7.4.0 (conflict analysis result)
    - Conclusion: don't install drupal/core 10.0.0-alpha3 (conflict analysis result)
    - Conclusion: don't install drupal/core 10.0.0-alpha4 (conflict analysis result)
    - drupal/core 10.0.0-alpha5 requires guzzlehttp/guzzle ^7.4.3 -> satisfiable by guzzlehttp/guzzle[7.4.3, ..., 7.7.x-dev].
    - Conclusion: don't install guzzlehttp/guzzle 7.4.4 (conflict analysis result)
    - drupal/core[10.0.0-beta1, ..., 10.1.x-dev] require guzzlehttp/guzzle ^7.5 -> satisfiable by guzzlehttp/guzzle[7.5.0, ..., 7.7.x-dev].
    - drupal/core[10.0.0-alpha6, ..., 10.0.0-alpha7] require guzzlehttp/guzzle ^7.4.5 -> satisfiable by guzzlehttp/guzzle[7.4.5, ..., 7.7.x-dev].
    - Conclusion: don't install guzzlehttp/guzzle 7.5.0 (conflict analysis result)
    - Conclusion: don't install guzzlehttp/guzzle 7.6.1 (conflict analysis result)
    - Conclusion: don't install drupal/core 10.1.0 (conflict analysis result)
    - Conclusion: don't install drupal/core 10.1.1 (conflict analysis result)
    - Conclusion: don't install guzzlehttp/guzzle 7.7.0 (conflict analysis result)
    - drupal/core[10.0.0-alpha1, ..., 10.0.0-alpha2] require guzzlehttp/guzzle ^7.3.0 -> satisfiable by guzzlehttp/guzzle[7.3.0, ..., 7.7.x-dev].
    - Conclusion: don't install guzzlehttp/guzzle 7.3.0 (conflict analysis result)
    - Root composer.json requires drupal/core ^10.0 -> satisfiable by drupal/core[10.0.0-alpha1, ..., 10.1.x-dev].

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0
πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

Put your patch into a merge request for easier testing with composer.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

mattjones86 β†’ made their first commit to this issue’s fork.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

mattjones86 β†’ created an issue.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

I still think you're going to be unpleasantly surprised how many developers were quietly using this without ever stumbling across this issue or having any input on the discussion.

For me personally (a single isolated developer), this will probably be adding Β£1000 to the next core upgrade to cover developing a custom solution to replace what was previously a core feature.

Hopefully someone will just re-implement this in contrib quickly.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

Sorry I see this was fixed in 2.0-dev, but not in 2.0-alpha.

https://git.drupalcode.org/project/tvi/-/blob/2.0.x/src/EventSubscriber/...

Anyone having the same issue as me, make sure to switch to current dev version.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

mattjones86 β†’ made their first commit to this issue’s fork.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

mattjones86 β†’ made their first commit to this issue’s fork.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

mattjones86 β†’ made their first commit to this issue’s fork.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

composer.json is actually important if you wish to include a merge request with composer directly:

{
...
    "repositories": {
        "node_view_permissions": {
            "type": "vcs",
            "url": "https://git.drupalcode.org/issue/node_view_permissions-3288795"
        },
   }
...
    "require": {
        "drupal/node_view_permissions": "dev-3288795-automated-drupal-10"
    }
}

Without it, such installation is impossible.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

mattjones86 β†’ made their first commit to this issue’s fork.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0
πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

mattjones86 β†’ created an issue.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

mattjones86 β†’ made their first commit to this issue’s fork.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

mattjones86 β†’ made their first commit to this issue’s fork.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

mattjones86 β†’ made their first commit to this issue’s fork.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

mattjones86 β†’ made their first commit to this issue’s fork.

πŸ‡¬πŸ‡§United Kingdom mattjones86 πŸ‡¬πŸ‡§ GMT+0

I have given this MR a try today and found that while it did expose the Layout Builder data, it unfortunately didn't do a great job exposing data for the inline_block entities.

Within each Layout Builder Section these block are referenced with block_revision_id, but the relationships are not attached to allow modules like entity_share to know where to find these.

It would be ideal if these could be looked up and appended in a similar method to EntityReference fields. I did take a look at updating the MR with this myself, but it looked a little too complex to attempt without guidance.

From what I understand, it would involve updating ResourceObjectNormalizer::serializeField() to handle LayoutSectionItemList fields, along with adding quite a few new methods (e.g. Relationship::createFromLayoutBuilderField()) to find and append the correct relationships.

      if ($field instanceof EntityReferenceFieldItemListInterface) {
        // Build the relationship object based on the entity reference and
        // normalize that object instead.
        assert(!empty($context['resource_object']) && $context['resource_object'] instanceof ResourceObject);
        $resource_object = $context['resource_object'];
        $relationship = Relationship::createFromEntityReferenceField($resource_object, $field);
        $normalized_field = $this->serializer->normalize($relationship, $format, $context);
      }
      else if ($field instanceof LayoutSectionItemList) {
        // Pluck inline_block revision IDs and append to relationships here
      }
      else {
        $normalized_field = $this->serializer->normalize($field, $format, $context);
      }
{
  "jsonapi": {
    "version": "1.0",
    "meta": {
      "links": {
        "self": {
          "href": "http://jsonapi.org/format/1.0/"
        }
      }
    }
  },
  "data": {
    "type": "node--article",
    "id": "d7284b3e-a616-4d33-ac88-919bce701b63",
    "links": {
      "self": {
        "href": "https://dev.example.com/jsonapi/node/article/d7284b3e-a616-4d33-ac88-919bce701b63?resourceVersion=id%3A1"
      }
    },
    "attributes": {
      "drupal_internal__nid": 1,
      "drupal_internal__vid": 1,
      "langcode": "en",
      "revision_timestamp": "2021-09-14T09:41:50+00:00",
      "revision_log": null,
      "status": true,
      "title": "Article Style Guide",
      "created": "2021-09-14T09:41:39+00:00",
      "changed": "2022-01-19T10:47:02+00:00",
      "promote": false,
      "sticky": false,
      "default_langcode": true,
      "revision_translation_affected": true,
      "metatag": null,
      "path": {
        "alias": "/article-style-guide",
        "pid": 82,
        "langcode": "en"
      },

      ...

      "layout_builder__layout": [
        {
          "section": {
            "layout_id": "layout_twocol_section",
            "layout_settings": {
              "label": "",
              "column_widths": "50-50",
              "layout_builder_styles_style": [
                "section_margin_normal",
                "section_vertical_align_top",
                "section_width_normal"
              ],
              "context_mapping": []
            },
            "components": {
              "5a6eed43-01f1-4bc3-88d3-0e933da4ab7e": {
                "uuid": "5a6eed43-01f1-4bc3-88d3-0e933da4ab7e",
                "region": "first",
                "configuration": {
                  "id": "inline_block:image",
                  "label": "",
                  "label_display": true,
                  "provider": "layout_builder",
                  "view_mode": "full",
                  "block_revision_id": "223987",
                  "block_serialized": null,
                  "context_mapping": []
                },
                "weight": 0,
                "additional": []
              }
            }
          }
        }
      ]
    },
    "relationships": {
      "node_type": {
        "data": {
          "type": "node_type--node_type",
          "id": "1af93c9b-8669-4535-b786-f4c3f0b51488",
          "meta": {
            "drupal_internal__target_id": "article"
          }
        },
        "links": {
          "related": {
            "href": "https://dev.example.com/jsonapi/node/article/d7284b3e-a616-4d33-ac88-919bce701b63/node_type?resourceVersion=id%3A1"
          },
          "self": {
            "href": "https://dev.example.com/jsonapi/node/article/d7284b3e-a616-4d33-ac88-919bce701b63/relationships/node_type?resourceVersion=id%3A1"
          }
        }
      },

       // Would be ideal to see the related inline_block entities here!!

    }
  },
  "links": {
    "self": {
      "href": "https://dev.example.com/jsonapi/node/article/d7284b3e-a616-4d33-ac88-919bce701b63?resourceVersion=id%3A1"
    }
  }
}
Production build 0.71.5 2024