Hello In Info Veritas. These answers may be incomplete, or there may be ways of doing this I'm not aware of, but this is what I've done:
Configurations
These are the easiest to handle with recipes:
For new configurations (let's say configs that your custom recipe module creates, such as custom configs, or content types, field information, new views, new layouts, etc), simply put them in modules/MY_MODULE/config. They will be installed when the module is enabled. This is what the recipe concept is mostly about!
To change existing configurations (such as the site name), you need to do a bit of work by implementing hook_install() and change those configurations there, as in config_set('system.core', 'site_name', 'Awesome site'). And to change complex existing configs such as views of layouts, you may need to do more work, such as the following, which actually modifies the admin_default layout by reading a "local" version first (stored under a folder named config WITHIN my custom "scheduling" module, and moving its content entirely to the one stored in files/config_XXX/active
// Move the modified admin_default layout to the files folder.
$config = config('layout.layout.admin_default');
$path = backdrop_get_path('module', 'scheduling');
$path = './' . $path . '/config';
$storage = new ConfigFileStorage($path);
$new_layout = new Config('layout.layout.admin_default', $storage);
$new_data = $new_layout->getData();
$config->setData($new_data);
$config->save();
Themes and layout templates
There may be ways to create those by the module manually moving directories and files from a specific folder within its folder, into the folders themes and layouts in the root of your installation. This would be done also in hook_install(). Personally, I think it's better to create a github repo of your installation that already includes the needed custom themes and layout templates (be careful not to publicly store private information contained in settings.php!), and then cloning that from github when you install a new version of the site.
My hosting is located in a country that blocks numerous online resources, so I am not surprised that updates and modules are unavailable. However, everything works perfectly on a local server...
UPDATE: I fixed the errors that I found in the logs. They were related to deleting an old blog content type pulled over from Drupal that was still referenced in one of the layouts. I updated...
Hmmm... this sounds like a bug with Copy Blocks. Would this possibly be related:
https://github.com/backdrop-contrib/copy_blocks/issues/26
https://github.com/backdrop-contrib/...
Posted1 day 15 hours ago by Alejandro Cremaschi (argiepiano) on:
Also this error: Warning: Undefined array key "blog" in summary() (line 63 of /app/core/modules/layout/plugins/access/entity_bundle_layout_access.inc).
I did recently delete an old blog...
Comments
Hello In Info Veritas. These answers may be incomplete, or there may be ways of doing this I'm not aware of, but this is what I've done:
Configurations
These are the easiest to handle with recipes:
// Move the modified admin_default layout to the files folder. $config = config('layout.layout.admin_default'); $path = backdrop_get_path('module', 'scheduling'); $path = './' . $path . '/config'; $storage = new ConfigFileStorage($path); $new_layout = new Config('layout.layout.admin_default', $storage); $new_data = $new_layout->getData(); $config->setData($new_data); $config->save();Themes and layout templates
There may be ways to create those by the module manually moving directories and files from a specific folder within its folder, into the folders themes and layouts in the root of your installation. This would be done also in hook_install(). Personally, I think it's better to create a github repo of your installation that already includes the needed custom themes and layout templates (be careful not to publicly store private information contained in settings.php!), and then cloning that from github when you install a new version of the site.
I hope this helps.
Thank you for you so fast answer.
That was I was thinking.
Thank you again.