This is a spin-off of https://github.com/backdrop-ops/backdropcms.org/issues/46 specifically for proposing a new project type for Backdrop: recipes.
With Backdrop supporting modules for functionality, themes for styling, layouts for, well, layout and install profiles for the initial configuration and setup of a site, I see the addition of a 'recipe' as combining all these separate things into a bundled package of sorts.
Use cases include: - Making it possible to port certain (cough, WordPress) themes to Backdrop - ones that include styling, a custom layout, and features like sliders, etc. (e.g. a theme, a layout and one or more modules). - Providing a full demo site to go along with a tutorial (users install the recipe and get all the modules, content types, themes, etc. setup automatically). - Setting up a new site with things installed and configured the way you (as a developer) normally like them (e.g. simplifying the initial setup of multiple, similar sites).
The reason I like the term 'recipe' (which @klonos originally suggested in the issue linked above) is that 'package' (my original suggestion) implies something that you open to find other things inside, whereas 'recipe' is a bunch of ingredients which, when combined, create something new. I think recipes could be as simple as a single info file, such as:
name = My demo
description = Sets up a Backdrop site for demoing.
backdrop = 1.x # Not sure if this line is necessary...
type = recipe
modules[] = devel
modules[] = webform
modules[] = flexible_layout
themes[] = summer_fun
layouts[] = flexible_template
profiles[] = demo_profile
Or maybe even a JSON file and use it in config somehow... Either way, a simple text file should suffice. And as per info files you should be able to optionally specify versions too.
So modules provide the features/functionality, themes the styling, layouts the layout and profiles the setup (install modules, set theme as default, add blocks to a layout, add custom content types, etc.). Of course all of these would be optional (you could have a recipe of just modules, or a theme and matching layout, etc.).
Wiki Page Summary Related META Issue: https://github.com/backdrop/backdrop-issues/issues/5240
Recent comments
Hi @DianeBAS It doesn't look like there are any port requests for these modules and they do not appear in https://github.com/backdrop-contrib so it doesn't look like anybody has tried anything unless...
Station and Community Media
Thanks for those ideas. Here is what I'm doing now that works. This adds the video_filter to the config file. $format = filter_format_load('filtered_html'); $format->filters['video_filter'] = (...
How to programmatically insert an array into config file
The port of Organic Groups is within days (if not hours) of a beta release. Feel free to help test and report issues. https://github.com/backdrop-contrib/og
Porting Organic Groups module to Backdrop