Comparison with UI Patterns module

Created on 22 October 2024, 5 months ago

I have used SDC Block and SDC Display on a handful of projects.

UI Patterns handles all the same features, plus more, and has a more advanced UI

It's part of the UI Suite, which seems to be where the bulk of design system integration is currently happening.

I'm inclined to start using UI Patterns going forward, to be able to use the rest of the UI Suite ecosystem.

What is the future for SDC Display/Block? Are these now a more minimal approach without UI Suite, or will there be any differentiation going forward?

🌱 Plan
Status

Active

Version

2.0

Component

Miscellaneous

Created by

πŸ‡ΊπŸ‡ΈUnited States mortona2k Seattle

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @mortona2k
  • πŸ‡«πŸ‡·France pdureau Paris

    Hello Andrew,

    I am the maintainer of UI Patterns β†’ 2. We have just released the first release candidate by the way https://www.drupal.org/project/ui_patterns/releases/2.0.0-rc1 β†’

    What is the future for SDC Display/Block? Are these now a more minimal approach without UI Suite, or will there be any differentiation going forward?

    If my understanding is right, SDC Display/Block is a lighter solution, with direct translation of JSON Schema to Drupal forms. We fill the form values which are sent to the component template.

    UI Patterns 2 has a source plugins system : https://git.drupalcode.org/project/ui_patterns/-/tree/2.0.x/src/Plugin/U...
    Some sources works like SDC Display/Block, with just a form element mapped to JSON schema values:

    • AttributesWidget for attributes props
    • CheckboxesWidget for enum props
    • CheckboxWidget for boolean props
    • ListTextareaWidget for array props
    • NumberWidget for number props
    • SelectsWidget for array of enums props
    • SelectWidget for enum props
    • TextfieldWidget for string props
    • UrlWidget for URL props
    • WysiwygWidget for sots

    Some source plugins retrieve data to Drupal API (menu, fields, views...)

    • BlockSource
    • BreadcrumbSource
    • ComponentSource
    • EntityFieldSource
    • EntityLinksSource
    • EntityReferencedSource
    • FieldPropertySource
    • MenuSource
    • PathSource
    • TokenSource
    • ViewFieldSource
    • ViewRowsSource
    • ViewTitleSource
    • ...

    You can also add yours own.

    So, it is a heavier, more framework-y and powerful, solution.

    So, two different positioning and philosophy. I can picture a world were both are used by the community. Maybe not in the same project.

  • πŸ‡«πŸ‡·France zigazou

    Hello!

    I'm currently developing SDC components that I then want to use in my site by configuring the entity displays.

    So I've come to test both solutions (UI Patterns 2 and SDC Display).

    Here's what I've come up with so far (Note that this is in no way intended to denigrate the contributors to the two projects or the projects themselves, a great job has been done, thanks to them).

    Ease of use: SDC Display is the big winner

    Associating fields with the properties and slots of SDC components is very simple (one click for each) with SDC Display and very error-free.

    In contrast, UI Patterns 2 offers extensive lists for each field, and you then have to configure each association, which can be nested... In other words, the possibility of error is much greater and often leads to an empty result without you knowing why.

    Power: UI Patterns 2 is the big winner

    UI Patterns 2 offers much greater flexibility in the use of SDC components, both in terms of configuring the association and the availability of the tool at all levels of the rendering chain (for example in views, where SDC Display is absent).

  • e0ipso Can Picafort

    Thanks everyone for posting here! This is a very legit question when starting your site. I echo everything said here. SDC Display for the simple but more limited solution, and UI Suite for the the nuanced and powerful but more complex solution.

    There is a balance to be found between maintainability and the principle of simplicity, versus the frustration of not being able to do that one special thing you really need to do.

    In talking to Pierre about this, I kind of wished there was a single choice of module, where the simple things could be done SDC Display style, and then the powerful ones revealed all the might of UI Suite.

    Both projects are friendly to each other, since we aim for the same goals, and ... well, I consider Pierre one of my Drupal friends <3 The biggest limitations are the ones about FOSS and free time. If we had unlimited supply of sponsored time, I am sure we would find a way to merge the approaches.

    Marking issue as fixed, so everyone gets their credit.

  • Automatically closed - issue fixed for 2 weeks with no activity.

Production build 0.71.5 2024