Description of the need
I came across the issue recently where I couldn't find an installed module in the module page. Bee showed it as enabled and other modules showed that they were required by this module.
The module in question is a Feeds plugin and the feeds_system_info_alter() function makes plugin modules for which an importer exists (even if the importer is disabled) a required module. I only found this out because I dug into the info blob in the database and then found the required flag and the explanation.
It feels like Core UI should display contrib required modules in the module list but prevent disabling in the same way as when a module is a dependency. Perhaps there could be another line with the dependency listing that uses the explanation that Feeds has given it?
I imagine as there is a hook this could be used by other module to add the required flag.
Proposed solution
Required contrib modules are listed They are prevented from being disabled and the explanation is given
Alternatives that have been considered
I can see why Feeds makes these required, but the fact it provides an explanation that is not visible anywhere means it is confusing for users.
Additional information
a:13:{s:4:"name";s:21:"Feeds JSONPath Parser";s:11:"description";s:37:"Parse a JSON document using JSONPath.";s:7:"package";s:5:"Feeds";s:8:"backdrop";s:3:"1.x";s:4:"type";s:6:"module";s:12:"dependencies";a:2:{i:0;s:5:"feeds";i:1;s:9:"xautoload";}s:5:"mtime";i:1689679314;s:7:"version";N;s:3:"php";s:5:"5.6.0";s:5:"files";a:0:{}s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:99:"Feeds is currently using this module for one or more <a href="/admin/structure/feeds">importers</a>";}
Add any other information or screenshots that would help.
Draft of feature description for Press Release (1 paragraph at most)
Backdrop now displays required contributed modules in the list of modules and provides the explanation, if given, for why it is required.
Recent comments
Thanks Alejandro. That was the clues I needed.
Ubercart - Programmatically add product to cart and straight to Checkout
Have you tried uc_cart_add_item()? You need to provide the nid of the product. Then you can use backdrop_goto('cart/checkout'); to send the user to the checkout screen. uc_cart_add_item...
Ubercart - Programmatically add product to cart and straight to Checkout
No problem, let's see how it evolves. I'd be happy to provide a suggested version if i could. I will keep that in mind and try learn this hook chain hopefully very soon. I will...
File hashing uploads made through TinyMCE