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.
well @herb I cannot believe it, but the webform module was there in modules on the disc, but missing in the listed modules, so I delete the module folder, and downloaded it again.
Then...
Posted2 weeks 1 hour ago by Francis Greaves (themetman) on:
The only thing I can think of is to make sure Webform module is enabled and that the content type that needs to contain the webforms has Webform enabled for it. Edit the content type and make...
@yorkshirepudding, In the end I fixed it by deleting the config/active folder contents, copying the config/staging/ files into config/active, importing the database again and clearing the caches...
Posted2 weeks 5 days ago by Francis Greaves (themetman) on:
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.