NY, US
Account created on 17 July 2003, over 21 years ago
#

Merge Requests

More

Recent comments

🇺🇸United States drumm NY, US

I see where our CDN cache was holding onto the old version now, should be actually resolved now.

🇺🇸United States drumm NY, US

Moving to a better place

🇺🇸United States drumm NY, US

I’m unable to reproduce this, clicking “Drupal 7 End of Life resources page” goes to https://www.drupal.org/about/drupal-7/d7eol/migration-resource-center/en...

🇺🇸United States drumm NY, US

Documentation for this is started at https://www.drupal.org/drupal-security-team/security-team-procedures/sec...

Remaining work:

🇺🇸United States drumm NY, US

Adding recipe example

🇺🇸United States drumm NY, US

Adding recipe example

🇺🇸United States drumm NY, US

I believe this is local caching. Please try composer show drupal/drupal_cms_geo_images -a --no-cache

The full output of composer show might show more clues that your composer is still using packages.drupal.org data instead of switching to packagist.org.

🇺🇸United States drumm NY, US

Minor wording correction

🇺🇸United States drumm NY, US

Did anyone open a feature request in gitlab to have a concept of a "security" role for users to be able to access all security issues?

No, that didn’t happen. GitLab has only recently added custom admin roles, https://docs.gitlab.com/user/custom_roles/#custom-admin-roles, which might get us partway there.

Security issues will need private forks regardless, so private MRs can be used for review and testing. Putting those private forks under https://git.drupalcode.org/security takes care of giving the security team access, and the group labels, milestones, etc keep everything organized the same way. Even if there was a good way to give security team members access to all confidential issues, that is only partway there.

🇺🇸United States drumm NY, US

https://www.drupal.org/docs/administering-a-drupal-site/security-in-drupal is probably the destination for the pages in Securing your site that might be kept.

I should update https://www.drupal.org/drupal-security-team to link to the new documentation

🇺🇸United States drumm NY, US

Add initial merge request notes

🇺🇸United States drumm NY, US

Clarify only security team members can manage access

🇺🇸United States drumm NY, US

Add note about core maintainers

🇺🇸United States drumm NY, US

This is currently using the timestamp on the packaged file for download at https://git.drupalcode.org/project/drupalorg/-/blob/fb5a4efc1f03d10dae32...

We could change that to the release node creation time, or edit “Released” to be more accurate

🇺🇸United States drumm NY, US

Done, https://packagist.org/packages/drupal/drupal_cms_geo_images will be available soon.

Note: Unfortunately I couldn't find any official guideline that instructs a Drupal Recipe should be created as a "General project". Is it something out there on this?

We should get this documented. Where did you look for the documentation?

🇺🇸United States drumm NY, US

Add issue, wording improvement

🇺🇸United States drumm NY, US

Updating the example to be consistent

🇺🇸United States drumm NY, US

I was reading this as a choice instead of a checklist:

☐ Delete
☐ Redirect

Some of these are now handled.

For Securing your site , I think we need to go page-by-page. I think these pages in particular have links from elsewhere on the site. Each child page might be:

  • Deleted if not relevant today
  • Deleted and replaced with a redirect if duplicate documentation already exists
  • Migrated using the “migrate this documentation” link on each page
🇺🇸United States drumm NY, US

Removing unnecessary header. Could use modernization, such as replacing FTP

🇺🇸United States drumm NY, US

Updating title to match module title

🇺🇸United States drumm NY, US

Deletions done according to the issue summary.

🇺🇸United States drumm NY, US

I missed this issue before, I can take care of the deletions in the issue summary.

🇺🇸United States drumm NY, US

Actually #3442232: Decide what to do with TO BE MIGRATED looks like it has specific details for this book.

🇺🇸United States drumm NY, US

And, you can't actually do it until someone at the DA activates some feature on the site that allows for migrations to happen.

This was done some time ago, so migrations can be done by following the “migrate this documentation” link on each page.

I’m also happy to do some bulk actions:

  • Delete a tree of book pages - only the top-level parent is needed
  • Flatten a tree of book pages into a single page - for example if we wanted to merge the 3 pages under https://www.drupal.org/node/125539 into a single page
  • Anything else that seems like a lot of busywork might be a candidate for automation
🇺🇸United States drumm NY, US

wylbur - you should have seen a warning block at the top of book pages with

This documentation needs to be migrated into the new documentation system. If you are a project maintainer, create a new documentation guide for your project first and then migrate this documentation.

If you don't have that, let me know and I’ll double check access to that. Using the links in that block migrates the pages in-place, preserving authorship and revisions, and the old pages are moved, so no additional deletion is needed. This also removes the need to add any redirects or other affordances for URLs changing.

For the theme documentation, we’ll have to continue as-is, it isn’t worth the time to do additional cleanup. I’ll delete the book pages and resolve the issues.

Please do not migrate module documentation, except for special cases and identifying pages to delete. The migration process is cumbersome for more than a handful of pages, or anything with some hierarchy. I don’t want people spending time on busywork that should be automated. A special case might be something like - a module has new documentation and the book pages are being migrated into the module’s existing new documentation section.

🇺🇸United States drumm NY, US

Much of this is ready to test, but could use some documentation. Examples of it in action are at:

https://git.drupalcode.org/security/1-drupalorg-security/-/issues/1
https://git.drupalcode.org/security/2-drupalorg-security/-/issues/1

The remaining work on D7 is now to update permissions so project maintainers can create & update drafts, including various field permissions to limit some field to the security team members only.

🇺🇸United States drumm NY, US

Remaining work:

On D10 - add a prompt to draft a security advisory to the comment posted on security issue posting
D7 - update permissions so security team members can create & update drafts

🇺🇸United States drumm NY, US

The Drupal CMS documentation is currently canonically at https://git.drupalcode.org/project/drupal_cms/-/tree/1.x/docs?ref_type=h... and then copied over to new.drupal.org

🇺🇸United States drumm NY, US

Events will likely be the next thing to be turned off on groups.drupal.org since we built https://www.drupal.org/community/events to replace it

🇺🇸United States drumm NY, US

We’ll want to port the “How to improve this page” block from documentation pages like https://www.drupal.org/docs/getting-started/system-requirements/web-serv...

First we should port it without functionality changes, so regular documentation pages will be set up correctly. Drupal CMS documentation is an exception, so after the basics are done, adjustments should be made. For example, there will not be general edit or commenting (discuss) access for these pages.

Some notes from when I’ve discussed this before:

The D7 version has Discuss, which is regular node comments moved to a separate local task page, which we'll want for regular documentation. For the CMS documentation section & pages, we'll want to make sure comments are off and this block has logic to detect that. We're somewhat building this backwards since the CMS documentation's special cases should be built on top of the base documentation functionality, which we should keep mostly as-is.

I hadn't looked into how this was done in D7 yet, that we might want to change. Its a View, with a field formatter for all the text https://git.drupalcode.org/project/drupalorg/-/blob/089409007720bc9009d6...
So changing the text based on logged in status, edit access, comment status, doesn't happen. We could put in some all-or-nothing checks with Views filters or block visibility rules, but anything with different versions of the text would get messy in Views.

The equivalent on D7, https://www.drupal.org/docs/user_guide/en/index.html is imported, looks like it has the block hidden when there's a field set that indicates it was imported. And there's a different block that shows in the footer.

I'm thinking it would be best to have this all in one block, so it gets placed once, consistently. We can get as far as possible with logic in custom code, that works for normal documentation pages. If we need something additionally special for the CMS guide, we can add logic to check for the page being in that guide.

🇺🇸United States drumm NY, US

Thanks! These have been deleted.

🇺🇸United States drumm NY, US

We should update the logo size used here to the 2x version, so it is less blurry on high-pixel-density displays, and add the name since not all logos have readable names, and the other reasons you mentioned.

🇺🇸United States drumm NY, US

I’ve approved the group. Please note that groups.drupal.org is on life support, since we have not found the time to prioritize replacing it. We’ll aim to replace what is practical, but its functionality might be more-heavily deprecated or removed in the future. Collaborating in other spaces is encouraged.

🇺🇸United States drumm NY, US

I can go ahead and remove the version filtering altogether here, the remaining D7 issues mostly won’t be at the top of listings anyway.

🇺🇸United States drumm NY, US

Has this happened recently? The core bug that caused 🐛 Prevent flooding of feeds such as Drupal Planet with old blog posts Closed: duplicate was fixed long ago.

🇺🇸United States drumm NY, US

The API Composer uses for security advisories is described at https://packagist.org/apidoc#list-security-advisories if you need to implement it outside of using Composer. Drupal.org packages are installed via packages.drupal.org, so the API endpoint is for example https://packages.drupal.org/8/security-advisories/?packages[]=drupal/core

The APIs used by Composer also have additional metadata, for example https://packages.drupal.org/files/packages/8/p2/drupal/token.json.

Update status used by Drupal is backed by API requests like https://updates.drupal.org/release-history/token/current

🇺🇸United States drumm NY, US

And just parent pages to be deleted can be listed, I have automated deleting trees of book pages.

🇺🇸United States drumm NY, US

For module documentation, I can go ahead and bulk migrate the remaining documentation as-is. It still could use attention from project maintainers, but we don’t need to have everyone spend time on repetitive migrations. I may do the same for module & theme documentation.

🇺🇸United States drumm NY, US

(Updating to fix Drupal.org issue indexing, please disregard.)

🇺🇸United States drumm NY, US

Advisories on www.drupal.org now allow filling reported/fixed/coordinated with a list of usernames. The Update button does the translation to HTML so it won’t update the HTML unless you proactively want to update it

🇺🇸United States drumm NY, US

I recommend using composer audit, which will include advisories from Drupal.org, and elsewhere for your non-Drupal dependencies.

🇺🇸United States drumm NY, US

The formatting does look very consistent, so we could convert this to more structured data. The exception I spotted was when we were doing combined advisories like https://www.drupal.org/sa-core-2018-001 , but that is not too common. The structured data would still need (person, reported|fixed|coordinated, ”of the Drupal security team”); the last value could be a string and add the extra context.

That said, I think I’d like to keep the text field for now and add affordances for filling it out consistently. Converting to structured data would be more time-consuming buildout right now and a migration. That can be done later.

🇺🇸United States drumm NY, US

This is now complete.

Release pages like https://www.drupal.org/project/google_tag/releases/2.0.8 now have a list of security advisories added, so the advisory ID does not need to be known ahead of time for release notes.

The advisory ID behaves as described in the issue summary.

🇺🇸United States drumm NY, US

The new API at https://www.drupal.org/jsonapi/node/project_module does have field_active_installs now

🇺🇸United States drumm NY, US
🇺🇸United States drumm NY, US

Since the project does not have any code pushed to it, and was created very recently, it is possible to delete. That is now done.

🇺🇸United States drumm NY, US

Can you include a bit more context, ideally the full console output? What I was understanding in https://github.com/php-tuf/composer-integration/issues/128 was that the specific files weren’t mentioned in the error message. HTTP requests happen in parallel, so I don’t think the line above the error message is necessarily the cause, which would also explain why it appears to be switching.

🇺🇸United States drumm NY, US

https://git.drupalcode.org/project/api/-/blob/7.x-2.x/api.update_branch.... looks like where files were removed in D7. Looks like the general flow was:

  • Make a list of current files
  • Make a list of previously-parsed files
  • When processing current files, remove them from the list of previously-parsed files
  • Remove anything left in previously-parsed files, starting with removing the items parsed from them

I’d do that again, or possible solution #1

🇺🇸United States drumm NY, US

Good find, even though browser support isn’t great yet.

The same copy widget is also used on issue pages for Git command drafting and other places, and white-space: nowrap; would not be great in all situations.

🇺🇸United States drumm NY, US

Where this gets tricky is you probably want to fetch changes. How you do that depends on what you have locally, what is upstream, and the preferred Git workflow for the project. We don’t want to get into providing suggestions for every situation, that is for documentation and learning Git. I think the most I’d want to suggest is git fetch {issue fork remote}. Anything additional would become too much UI trying to fit in a small space - the next step might be git reset … if I know I don’t have anything local, git rebase … if I do have local changes, or git merge … if that’s better for a specific project or situation. Maybe we’d want to add a note about remembering to get upstream changes into your local branch.

For me, since the command is simply git checkout {branch}, I always type it out using shell tab-completion or copying the branch name from the issue or MR page.

🇺🇸United States drumm NY, US

This is working as designed to disambiguate components in modules, since Composer resolves dependencies on the project level, and Drupal also handles dependencies among sub-modules and other components within a single project. Composer namespaces do not always equal project names.

Using the Composer command exactly as on the release and project page, composer require 'drupal/matomo_onpage_metrics-matomo_onpage_metrics:^1.0@beta' does work as expected.

🇺🇸United States drumm NY, US

This is likely due to migrations on the new.drupal.org site, which is still very much unstable. They should be resolved next week, although data for this field may take some time to migrate again.

field_supporting_organizations is a paragraph field and the paragraphs migration got jumbled enough to justify deleting all data for the field and starting a fresh migration.

The Drupal.org APIs that project browser uses should still be considered unstable. There was a plan to mitigate this and improve error handling in project browser, but that apparently didn't happen.

I haven't found an issue to improve the error handling around Drupal.org responses that should have been opened. Drupal.org will make breaking changes to the API over time, and 4xx errors should be handled better. The usual recommendation will be to upgrade project browser, although in this case it is likely an unplanned API change.

Display warnings/errors from DrupalOrgJsonApi backend Active was done, so we can set up that warning soon.

🇺🇸United States drumm NY, US

Remove outdated site

🇺🇸United States drumm NY, US

Automated message: Drupal CI guide deleted. Moving its content one level up in the documentation hierarchy.

🇺🇸United States drumm NY, US

Automated message: Drupal CI guide deleted. Moving its content one level up in the documentation hierarchy.

🇺🇸United States drumm NY, US

Automated message: Drupal CI guide deleted. Moving its content one level up in the documentation hierarchy.

🇺🇸United States drumm NY, US

Drupal.org does not track Git repository contents, we don’t have a quick way to programmatically know if a project has code or not. Some community projects use their Git repository for charters or other information, so a project having “code” is not necessarily a great check. Adding the ability to make projects without repositories would be extra work for little useful functionality and more edge cases.

I guess the fastest way is to opt-in into the advisory, even though there might never be a single line of code or stable release being tagged which would enlist it as covered.

This is the best way for these projects to move forward.

🇺🇸United States drumm NY, US
🇺🇸United States drumm NY, US

Those are now cleared from our CDN cache which was holding onto that content.

🇺🇸United States drumm NY, US

Yes, I think we can call this done.

I hope there’s more testing with 📌 Manually test TUF-enabled Composer projects Active before this is made generally available out of the box with Drupal core. But that and the rugged followups are all being tracked in their own issues.

🇺🇸United States drumm NY, US

This fix is now deployed

🇺🇸United States drumm NY, US

This is now deployed and I rebuilt the XML for https://www.drupal.org/project/entityreference_dragdrop

Before rebuilding the XML for every project with an & in its title, I'd appreciate a final confirmation that this is looking good in Drupal core now.

🇺🇸United States drumm NY, US

Thanks for the research!

I don't understand the "BC" concern here. The primary client for these feeds, update.module, was written to assume properly encoded markup in the XML feeds, and is now "broken" by the double encoding. If other clients are already decoding twice, and we stop double encoding, what's the harm?

My only real concern is if core was ever double-decoding. And I hope every version of core does always filter on output, so this should be fine.

Production build 0.71.5 2024