Problem/Motivation
Recipes don't yet have a full spec for how they will be handled on Drupal.org, so in the meantime folks are posting them as general projects. This works functionally but there is no way to (relatively easily) search existing recipes.
Proposed resolution
Discussed with @hestenet at DrupalCon taking a minimal approach to this for now, to enable searching but without making many changes. That would be adding a flag to general projects so they can be marked as recipes, and creating a listing page similar to the Modules page where they can be searched.
This is just for finding on drupal.org, no changes are being requested for APIs.
Remaining tasks
Add a flag to general projects to mark them as recipes- Create a listing page showing projects flagged as recipes, similar to https://www.drupal.org/project/project_module, with filters for:
- Keyword search
- Category
Issue fork drupalorg-3516327
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
drummA flag isn’t needed, we already have data on what’s a recipe since #3476486: Add composer release type field
Any listing will not have a chance to be good until #3489066: Add tracking for when recipes from Drupal.org are applied moves forward. We can only sort by data we have, like alphabetical or last updated date.
Comment #3
pameeela commentedThanks @drumm, FWIW I definitely think there is value in having the listing page before that lands, as most recipes will be brand new for now. But I will try to move that forward as well.
Comment #4
drumm@pameeela - Is there any part of #3421666: Decide and update recipe naming and classification standards that could move forward with this? For example, a way for recipe maintainers to select “Site starter” or “Site feature”?
I see categories in the issue summary, does this mean they have the same https://www.drupal.org/docs/develop/managing-a-drupalorg-theme-module-or... categories as modules?
The immediate next step will be adding a hidden field on general projects in D7 which rolls up the project’s releases’ composer types into a multivalued text field in anticipation of conditional field(s) for projects that have releases that are recipes. I initially thought this would be done only for search indexing, but we’ll likely want this data always available on general project nodes without rummaging through all releases.
We’re tentatively planning on taking a little extra time to build the actual browsing pages on new.drupal.org from the start, rather than building it twice.
Comment #5
pameeela commented@drumm great question re: category, I was not even thinking, but of course the field is not on general projects.
I'll try to get consensus on this. I do think the module categories will be applicable, as in many cases recipes are providing an optimised setup for a single module or a few modules.
The separately, we can try to resolve the classification. I wouldn't block this on those tasks, but I think we should be able to decide at least on reusing the categories pretty quickly.
Comment #6
drummI’m thinking the same module categories would be good to have for consistency in browsing projects, whether there is a unified module & recipe search, or switching between the two modes.
Comment #7
pameeela commentedAgreed, no objections raised on Slack either.
Comment #11
drummThe work in D7 is done, maintainers with a release that is a recipe can select categories when they edit their project. (We are getting away from “project types” whenever we can, projects change types between releases.)
We are building the recipe listing in new.drupal.org, so that part does not have to be built twice. The next step is #3518595: Migrate new project_general fields for recipe browsing
Comment #12
fjgarlin commentedFields added to the new site (private repo for now):
- Composer types: https://gitlab.com/drupal-infrastructure/sites/drupalorg/-/commit/b19914...
- Project categories: https://gitlab.com/drupal-infrastructure/sites/drupalorg/-/commit/7e7ebd...
The rest will be done in the migration issue.
Comment #13
fjgarlin commentedComment #14
drummGoing to leave this open for building the browsing UI on new.drupal.org. That will need to be backed by search API for full text search, so there might be additional steps to getting all the requirements ready.
Comment #15
drummI’ve started work on the next phase here - configuration updates to get general projects indexed.
Comment #16
thejimbirch commentedDiscussion mentioned in #7
https://drupal.slack.com/archives/C2THUBAVA/p1743738585491189
Comment #22
drummhttps://new.drupal.org/browse/recipes is now available. #3489066: Add tracking for when recipes from Drupal.org are applied must be taken on by someone if we want the page to be useful. Until that is done, this will be sorted alphabetically, and might not get much more prioritization.