Skip to content

Symfony UX Bundle #3209

@Kocal

Description

@Kocal

Following the discussions at #3203, let's open a new RFC for the Symfony UX Bundle!

This is something the UX team has been thinking about privately for a while, but opening a public RFC can only be beneficial (rather than volatile Slack messages or verbal discussions 😇 ).


Similar to the FrameworkBundle, the UX Bundle would allow Symfony UX packages to be automatically configured in a Symfony application.

This would have the following advantages:

  • centralizing the configuration of Symfony UX packages,
  • pooling certain logic, e.g., “is AssetMapper installed?”, “add this path to AssetMapper,” etc.,
  • and reducing the PHP “glue” code to register a Symfony UX package in a Symfony application.
  • and more

Steps

Plan for 2.X

I would like the UX Bundle to be available (and optional) for version 2.x.

This way, we could work on BC layers and tell users that directly registering a bundle (e.g., UxTranslatorBundle in bundles.php) is deprecated, as are the associated DependencyInjection/*.php classes.

Instead, we could suggest installing the Symfony UX Bundle.

This will require, for each UX package:

  • deprecating *Bundle.php and its associated classes (mainly Configuration.php, *Extension.php, etc.)
  • duplicating and adapting the Configuration in the UXBundle, under the configuration ux_bundle.<package>
  • duplicating the config/services.php and renaming them config/<package>.php
  • ...more?

EDIT: let's skip this for 2.x!

Plan for X.0

For the next major version, we should:

  • identify which package can be migrated to "component"
  • move config/* files
  • migrate and delete *Bundle.php and associated DependencyInjection classes
  • ...more?

Symfony Recipes

All Symfony recipes for Symfony UX will need to be adapted, if possible as soon as UX Bundle is released in 2.x..
Last version of 2.x recipes must be duplicated and adapter to 3.0, e.g.: configuration ux_translator will become becomes ux.translator.


Q&A

Q: What about the StimulusBundle?
Should we adapt the existing the StimulusBundle, or create a new package?

A: ???

Q: When someone installs a dependency in major version X, is the recipe for major version X-1 applied? If not, we will need to duplicate our previous recipes in 3.0.

To investigate.

A: We will duplicate the recipe for UX 3.0.

Q: Did I miss something?

A: Tell me! :D

Metadata

Metadata

Assignees

No one assigned

    Labels

    RFCRFC = Request For Comments (proposals about features that you want to be discussed)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions