Since theres no direct answer to #7, closing this so there is no wasted effort in this issue, compared to the long-lived/discussed/followed issue at ✨ Allow components to define asset libraries Needs work .
Please open if differences can be justified.
Coverage pushed.
dpi → created an issue. See original summary → .
Please do not spam tags.
To prevent notifications getting routed to catch-all channels, like Chat, this should by default error out (exception) if a notification type is not covered by a configured interface -> channel/transport mapping
This should help with scenarios like:
Notification is routing to a Slack recipient.
The mercure transport is enabled (is a chat channel transport)
The mercure transport will accept the notification with slack recipient by default.
We add something that can limit unintended transports.
\Drupal\notifier_chat_channel\Transport\Slack\Recipient\SlackRecipientInterface: chat/slack
IF a message is routed which dosent match a class/iface/abstract etc combo, then throw exception.
This should reduce the number of custom channelrouter services needed, and also help to prevent unintended message routing if for example more transports within a channel are added progressively.
The first implementation has been added, for Slack.
Looks like we'll need to do this for each provider, and adapt concepts from each.
Now that we know the required effort, we can do that in separate issues per service.
Incl notification and channel router, per README
dpi → created an issue. See original summary → .
With big codebases, we're doing php-driven autoregistration without services.yml (as core decoupled from sf and is still bikeshedding about that).
Quite some dev dudes i know with big code bases do it like this.
Thanks @geek-merlin, this makes sense, and allows me to approve this issue. I also prefer everything in `src` as a service, relying on private/service removal if unused, per Symfony.
Perhaps you'd be interested in taking a look at a core ticket I created a year ago: ✨ Directory based automatic service creation Needs work to help de-bikeshedding core ;)
Something needs to be done about the HuxCompilerPass2 name, and I'll do a deeper review. This will happen when I can get to it next, but isnt a high priority. Tests, docs, updates also
In the case where multiple chat channels are configured, greedy channels like Mercure (supports() has minimum requirements), ensure filters filter out for example where a message needs to go to Slack and never mercure.
The new CanonicalProduct and Slots attr via php extends inheritance should fulfill the requirements here.
With these systems, you can sub in your own twig/js/css, but inherit from slots and a parent object.
Futher, Slots are the recommended way of working, and they dont have a much surface thats hookable.
If these are not a good solution, let me know!
For #3, for now, changed to exception if missing file, unless the asset is a glob in which no exceptions are thrown if nothing was found.
Also finding that adding asset on a List, where not all components have an asset with that asset name, an error is shown.
As a part of this we should be able to validate whether a file truly exists, and add it conditionally.
Maybe consider adding a param to Asset attr that can ignore non existent files, or throw errors on missing files (default).
Of course, otherwise the Asset attr can be added to individual components/enum-case rather than an asset-attr thats echo'ed from the top of an enum.
We'll do it outside of BCA for now, but may revisit due to need for a flexible weighting system.
Theres been discussions of if or how to scan vendor for plugins before, I dont have references on hand.
I think core would want to look at composer autoload namespace and directories and scan them; whereas the change here is a simple list of which classes to include. No directory scans.
For selfish reasons I dont really have time on hand to look through core, as this is very much a side thing of what I'm working on for PNX. I'd prefer a quick merge but otherwise will advise to use a patch in the meantime.
container.namespaces includes only Drupal extensions.
The desire for this issue is to include classes defined in vendor.
Tests can be arranged if we can agree on implementation/direction.
Cred for auto-invoke idea.
e67ead44 includes integration for 0.2.0 except for Asset globs, which need more time as I found typical issues related to how Drupal libraries are relative to app root, and the generic local asset attributes, Css and Js, don't know how to find files (unless they are absolute).
Deferred and will be integrated independently, after probably more abstraction work in dpi/pinto lib @ ✨ Add support for Asset globs Active
For SMS Framework v4, the topics discussed here can be achieved with https://comms.docs.contrib.social/sms/verification/code-generator
For SMS Framework v4, the topics discussed here can be achieved with https://comms.docs.contrib.social/sms/verification/conditional
Project is obsolete now that SMS Framework provides support for services, including Clickatell.
Project is obsolete now that SMS Framework provides support for services, including Clickatell.
Project is obsolete now that SMS Framework provides support for services, including Clickatell.
Project is obsolete now that SMS Framework provides support for services, including Clickatell.
Project is obsolete now that SMS Framework provides support for services, including Clickatell.
Project is obsolete now that SMS Framework provides support for services, including Clickatell.
Project is obsolete now that SMS Framework provides support for services, including Clickatell.
dpi → created an issue. See original summary → .
dpi → created an issue. See original summary → .
I'd like to understand the pain point a little better. Why not use put things in Hooks/ namespace and let it all get registered for you? That way you don't need to put anything in any services file?
Is there a particular reason why that doesnt work for you? Are you using services.yml for some reason?
Manually tagging services and adding to the yml files is something I consider to be a very rare occurrence, not business-as-usual.
Latest rework for SMS Framework depends on this change to invert how verifications work.
dpi → created an issue. See original summary → .