Open albanycomputers opened 2 years ago
Well I'm happy you asked! This is one of our most longstanding issues: https://github.com/backdrop-ops/backdropcms.org/issues/487. An issue to support more data in info files, and even better, its been merged, and active but not tested.
So literally right now, if your module info file has tags[] = Spam Prevention
, once you cut a release, the project node on BackdropCMS.org should have a field populated with that value. We should have existing support for
But as the issue will explain, maybe, I did this without access to backdropcms.org, which means an inability to really test the webhooks. So havent publicised it to devs so no one really including these tags in their modules yet.
So if youre looking for a project, I would consider you a great hero if you could fix this finally. Maybe elicit help from @bugfolder, who is doing a lot of the bdcmsorg maintenance these days.
@docwilmot Many thanks... I did a search but couldn't find anything relating to this "issue" (Probably the wrong word).
Quoth @docwilmot:
I did this without access to backdropcms.org, which means an inability to really test the webhooks. So havent publicised it to devs so no one really including these tags in their modules yet.
I'm happy to report that the webhooks seem to be doing their job; in a PR for https://github.com/backdrop-ops/backdropcms.org/pull/851, I've created a View that includes a column for Tags, and they're showing up (and you can try them out in the Tugboat preview). Screenshot here: https://github.com/backdrop-ops/backdropcms.org/issues/839#issuecomment-985165185
I suspected that tags work, not sure about the other things, and I believe that we may be getting watchdog errors.
I'm seeing watchdog errors on the Tugboat site that relate to a missing .htaccess file, but can't think of how that would be related to the View. (They seem to be timed with cron runs.)
With respect to the "other things" (colors, screenshots, maintainers), any thoughts on how and where they should be displayed on b.org?
With respect to the "other things" (colors, screenshots, maintainers), any thoughts on how and where they should be displayed on b.org?
Havent thought that far yet.
To test though, perhaps I could whip up a test module with all of those additional tags while you monitor the back end? If we dont have a dev version of the webhooks then we may as well test the real thing
Sounds good.
With respect to the "other things" (colors, screenshots, maintainers), any thoughts on how and where they should be displayed on b.org?
I'd expect:
colors
to be a thing only for themes, and then a drop-down select be available when searching for themes in b.orgscreenshots
to be available for all project types (modules/theme/layouts), and be available in the form of a lightbox/colorbox style (click to pop up an enlarged version of the image + slideshow the rest of any available images). This should be available in project nodes on b.orgmaintainers
to be links to GitLab/b.org user profiles. We most likely need to agree upon and establish a format. Something like maintainers[] = handle|link
(with the link being optional?). I believe that this should be available in the sidebar of project nodes on b.orgclick to pop up an enraged version of the image
I've seen some pretty unhappy screenshots out there.
There's a test theme on b.org: Info Tester Theme. (Not a real theme, just there to demonstrate this capability.) Its .info file contains:
name = Info Tester theme.
description = Test theme to test info file data on BackdropCMS.org
backdrop = 1.x
type = theme
; Themes can have colors, tags, maintainers, and screenshots.
; Aquamarine shouldnt work, since its not in the allowed list.
colors[] = Blue
colors[] = Beige
colors[] = Aquamarine
tags[] = Testing
tags[] = Development
maintainers[] = docwilmot
maintainers[] = bugfolder
; Screenshot handling rules
screenshots[default] = firstpng.png
The project folder contains a screenshots
directory with several images. One of them is firstpng.png
, which is the one you currently see on the project page; the others are stored in the project node in a field "Project Screenshots," so they're accessible to display on b.org.
In this example, the maintainers are listed by their Github user names, so it would be straightforward to Github-linkify them and list them in the right sidebar of the project page. Currently, the standard for maintainers is to list them in the body of the README file, so if we did display them in the sidebar, there'd be duplication unless people updated their .info and README files at the same time. Perhaps we could encourage people to put active maintainers in the .info file, but if they're seeking maintainers (or have any other maintainer-related information that isn't a Github user name) they continue to put that in the README file.
Seems like we could proceed with adding the Github-linkified maintainers to the right sidebar in preparation for adding them to the .info files more widely, if folks agree with that course of action.
click to pop up an enraged version of the image
I've seen some pretty unhappy screenshots out there.
🤣 🤣 🤣
...so if we did display them in the sidebar, there'd be duplication unless people updated their .info and README files at the same time.
Yeah, I think that that'd be acceptable until all contrib has a chance to update their .info and README.md files accordingly.
Some thoughts:
Maintaining a project in the official https://github.com/backdrop-contrib group assumes that maintainers have GitHub accounts, so I think that if the .info file contains a line in "plain" maintainers[] = somename
format, then it'd be safe to assume that that's a GitHub account/handle, but I think that we should support other types of linkified maintainer formats, by also allowing something like maintainers[] = somename|https://some.personal.site
. This would allow people that develop custom, for-sale modules to link to arbitrary pages.
I'm wondering how we could curate the list of allowed values for colors[]
while at the same time allow some freedom 🤔 ...should that list of colors be a vocabulary on b.org? ...what happens with misspelled capitalized/non-capitalized color names etc.? Do we allow everything in https://en.wikipedia.org/wiki/Lists_of_colors, or only the 140 HTML color names, or some other list for example?
stylesheets[]
/ckeditor_stylesheets[]
and scripts[]
do not assume a css
/js
directory that holds the .css/.js files for a theme - they both expect you to explicitly specify where these are relatively to the theme root folder. Why are we making screenshots[]
"magic"?
It just occurred to me that dependencies[]
would be another nice .info file field to add and display in the right sidebar of a module/theme/layout's project page, where we could link to the dependent-upon project's page, thereby letting people explore the dependency chain entirely within b.org; and it would also (eventually) let users find the answers to questions like "what other contrib modules depend on Rules?" (Which was the actual question that brought this to mind.)
dependencies[]
is already in info files. Are you suggesting add a field to the project nodes?
dependencies[] is already in info files. Are you suggesting add a field to the project nodes?
Yes, that. Sorry for the unclarity.
Related: I have raised #6045 for allowing projects to declare min/max supported versions of php/jQuery/CKeditor.
I converted this comment to its own separate issue here: #6478
There was some discussion here: https://backdrop.zulipchat.com/#narrow/stream/218635-Backdrop/topic/Maintainer.20list.20in.20.2Einfo
And I have opened a ticket here: https://github.com/backdrop-ops/docs.backdropcms.org/issues/235 to try and agree a format for maintainers to document. I think documenting comes before the functionality to do something with.
Description of the need
Add more properties to the .info file to make it easier, in the long run, to find modules and themes and when a module or theme was last updated.
For example: -
Proposed solution
Add a recommended section to the .info file.
Alternatives that have been considered
Pulling the information directly from GitHub
Is there a Drupal or Backdrop contributed module that accomplishes this? Nope
Additional information
With more and more modules being converted and new modules being released it will become harder and harder for people to find the right modules, so I think implementing some solution is better than no solution, even if it's optional. I would have thought that module and theme developers would want to make their creations more findable.
Draft of feature description for Press Release (1 paragraph at most)
Backdrop now includes a new module and theme category to make finding the right module easy!