The full development of the website was carried out with the collaboration,covering different areas:
- Website development: setup and configuration of the Drupal site.
- Forms: implementation of the Speakers, Volunteers, and Contact forms.
- APIs: development of necessary integrations for the event.
- Design: prototypes and layouts created in Figma.
- Code of Conduct page: creation and publication of the conduct guidelines on the site.
People involved:
- Brandon
- Charllie
- João
- John
- Paulo
- Riandro
Discussed speaker approval.
Sponsors and keynote suggestions.
Website.
Participants:
Andreia
Brandon
Bruna
Riandro
Rod
The DrupalCamp Brazil 2025 venue and date have been defined. The decision took into account:
Maximum capacity of the venue
City and accessibility
Estimated number of attendees and speakers
Venue: Balbúrdia
Date: November 8, 2025
Address: R. Alm. Lamego, 425 - Centro, Florianópolis - SC, 88015-600
Participants involved in this decision:
Rod
Dani
After some testing, we decided to use EventBrite.
https://www.eventbrite.com/e/drupalcamp-brasil-2025-tickets-163685905248...
Bruna created the event description for the ticket.
Topics discussed:
- Next organizational steps for the event
- Sponsorship tier table structure
- Discussion about potential speakers
Website updates and forms:
- Volunteer sign-up form
- "Contact Us" form
- Definition of next steps and assignments
Participants:
Brandon Lira
Bruna Emerich
Andreia Baesso
Rod Volpe
João Paulo
Isa Beraldi
Thanks @nicxvan for the suggestions!
I’ve applied all of them directly through the interface; this should now cover every remaining dependency with the `drupal:` prefix.
Ready for review again.
I double-checked and confirmed that `dependency_foo_test`
exists in core under `core/modules/system/tests/modules/dependency_foo_test`
.
I’ve applied the adjustments so that all core profiles (Standard, Minimal, Umami, and testing profiles) now namespace their dependencies and themes with `drupal:`.
Could someone please review the MR !1262?
Thank you!
brandonlira → changed the visibility of the branch 3003877-namespace-all-core-profile to active.
brandonlira → changed the visibility of the branch 3003877-namespace-all-core-profile to hidden.
Any suggestions on what we still need to do here, the changes are not correct yet?
This looks correct to me, is anything else needed here?
Participants:
Brandon Lira, Bruna Emerich, Dani Volpe, Andreia Baesso, Rod Volpe, João Paulo, Isa Beraldi
Discussion Points:
- Website launched: The official website is now live, including ticket sales and the Call for Speakers form.
- Mailchimp integration: We’ve connected the registration forms to Mailchimp to build our mailing list.
- Talks structure: Defined talk durations and suggested topics.
- Sponsorship: Shared ideas for potential sponsors and discussed approach strategies.
- Promotion: Discussed ongoing social media promotion strategies to boost visibility and engagement.
Next steps:
Continue promoting CFP and ticket sales, and begin contacting sponsors.
In our third planning call, held on Wednesday, August 27th, we discussed the following topics:
- Venue confirmed: The event will be hosted at Balbúrdia, in downtown Florianópolis.
- Ticketing: The event will be paid. We'll use Eventbrite as the ticketing platform.
- Sponsors: We discussed potential sponsor tiers and created a preliminary list of companies to contact.
- Website: Planned launch by the end of August with basic information and ticket sales enabled.
- Payment process: Decided to charge for attendance to help cover costs and attract quality speakers.
- Promotion strategy: Ticket sales and the call for speakers will be promoted via social media, Telegram, and WhatsApp groups.
Next step: Finalize sponsor materials, publish call for speakers, and begin outreach.
A catch-up meeting was held on August 14, 2025, with the participation of:
- Rodrigo Volpe
- Bruna Emerich
- Brandon Lira
- João Paulo Schoemberger
During the meeting, the core team for the event was confirmed, along with their respective roles:
Project Manager: Rodrigo Volpe and Bruna Emerich
Logistics & Operations Lead: Isabel Araldi
Finance & Sponsorship Lead: Rodrigo Volpe
Content & Program Lead: Brandon Lira
Communications & Marketing Lead: João Paulo Schoemberger
Support Roles (Volunteers): Daniela Volpe
Key discussion points:
- The venue for the event is still being finalised, pending responses from two possible locations.
- The event will take place in Florianópolis.
- The official event website is ready.
- Social media accounts have been created and the promotion has started.
The sponsorship materials are currently under review.
I corrected the .info.yml file MR!12621 that was triggering a coding standards warning from phpcs, replacing the incorrect core: prefix with drupal: in the dependencies section, as required by the DrupalPractice.InfoFiles.NamespacedDependency.NonNamespaced rule.
Other files were not modified, as they did not produce any coding standards errors.
Ready for review!
brandonlira → made their first commit to this issue’s fork.
Hi @xjm, I’ve updated the MR !9611 with capitalised strings and periods as suggested.
It’s ready for review!
Let me know if anything else is needed.
Thanks!
Great, I'll take a look at that. Thanks @xjm for the guidance.
Hi @aaron, I tested this and it's working as expected.
The export file correctly shows the spelling correction in the expected format:
marmalade,mermelad,marmellade => marmelade
Thanks for the fix, everything looks good!
Hi @joachim,
I’ve made the changes you suggested, removed the docblock from __construct() and added the inline comment at the top of the method.
About the wording: I’m not sure if any of it was AI-generated, as the work had already been started by someone else. I just continued from what was already there.
Let me know if anything else needs changing.
Hi @joachim,
Fixed all issues flagged by @needs-review-queue-bot:
- Removed unused imports
- Fixed spacing before
`array_merge(...)`
Let me know if a rebase to 11.x is needed, happy to do it if required.
Thanks!
brandonlira → made their first commit to this issue’s fork.
Hi @joachim,
I've removed MR !11745 the method-level docblocks for getWeight() and setWeight() as suggested. The class-level and constructor documentation were kept to clarify usage requirements. Let me know if anything else should be adjusted.
Thank you!
Hi @smustgrave,
I've updated the issue summary to reflect the purpose and outcome of this task, including steps to reproduce the issue from a documentation perspective, and clarifying that this was a documentation-only change.
Please let me know if any further adjustments are needed.
Thanks!
Hi @aaron.ferris
Manually tested MR !25.
- Confirmed the issue initially: anonymous users received
`The 'administer search api synonyms' permission is required`
when accessing`/jsonapi/search_api_synonym/search_api_synonym`
. - Checked out the MR !25 branch locally.
- Created two synonym entries (one regular synonym and one spelling error) to test.
- Granted the new permission
`View search api synonyms`
to the Anonymous role. - Retested the endpoint as an anonymous user.
- Synonym entities were successfully returned in the JSON:API response.
- Removing the permission again blocks access as expected.
Hi @aaron.ferris,
I manually tested MR !22.
- Selected "Every Cron run" in the configuration form.
- Triggered cron multiple times manually.
- Confirmed that the synonym export was executed on each cron run.
Verified that the following messages appeared in the logs:
- Executing export
- Export for English complete
Confirmed expected behaviour without requiring a time-based interval.
Looks good to me.
Thank you!
Hi @mradcliffe
I've made the requested adjustments:
- Replaced the _custom_access on the migrate_drupal_ui.log route with _permission: 'access site reports'.
- Updated MigrateControllerTest to create and log in a user with the proper permissions (access site reports and administer views), instead of relying on $this->rootUser.
- Removed the outdated @todo and the usesSuperUserAccessPolicy flag.
All tests are now passing successfully.
I'll ask someone to test these changes tomorrow during our Contrib Day.
Thank you all for the helpful guidance throughout this issue!
Thanks so much @mradcliffe and @kristiaanvandeneynde — that clears things up perfectly!
I’ll make the adjustments now based on the updated direction: using access site reports, removing the UID 1 check, and updating the test.
Really appreciate your help — I’ll update the MR soon!
Hi @mradcliffe, thanks for highlighting that.
To clarify why this test still requires super user access:
Although the test doesn't perform migration actions itself, it accesses the /admin/reports/upgrade route. That route — as defined in migrate_drupal_ui.routing.yml — uses a _custom_access requirement pointing to \Drupal\migrate_drupal_ui\MigrateAccessCheck::checkAccess().
This access check explicitly allows only UID 1:
return AccessResultAllowed::allowedIf((int) $account->id() === 1);
o even just viewing the upgrade report (MigrateController::showLog) fails unless the test runs as the root user. Removing usesSuperUserAccessPolicy = TRUE causes an access denied error.
That’s why in the MR, we restored the flag and removed only the outdated @todo. A broader solution (e.g., updating that route to rely on a permission like access site reports) would be ideal, but it's out of scope for this issue.
Happy to help push that discussion further if needed.
Thank you!
Hi,
I've rebased the branch onto the latest 11.x and fixed the coding standard issues.
All tests are now passing.
Please review when you have a moment, and feel free to let me know if anything else need.
Thank you!
brandonlira → made their first commit to this issue’s fork.
Hi, could you please review this MR !11645?
I've restored the usesSuperUserAccessPolicy = TRUE property and removed only the outdated @todo, as discussed.
This change reflects the current behaviour where Migrate UI still requires user 1.
Please feel free to review, and if anything needs to be adjusted or clarified, please let me know!
Thank you!
brandonlira → made their first commit to this issue’s fork.
brandonlira → made their first commit to this issue’s fork.
Hi, I've created a new clean branch to address this issue.
The previous branch had too many unrelated commits and was outdated, causing multiple conflicts and making it hard to review.
This new branch includes only the intended change: replacing all usages of the deprecated assertWaitOnAjaxRequest() with assertExpectedAjaxRequest() across the core/ directory.
A new merge request has been opened from this clean branch.
Could someone please review and test this updated MR !12108?
Thank you!
brandonlira → created an issue.
Hi @quietone
I've addressed all the feedback:
- Clarified the wording regarding the anonymous user to explain why it's used during cron execution.
- Wrapped all PHPDoc lines at 80 characters to comply with Drupal coding standards.
- Removed the out-of-scope change in Cron.php as suggested.
Please let me know if anything else is needed — happy to make further adjustments if required.
Thanks again for the guidance!
brandonlira → made their first commit to this issue’s fork.
chadhester → credited brandonlira → .
brandonlira → changed the visibility of the branch 3515604-use-drupal-behaviours to hidden.
Hi everyone,
I Fixed the PHPCS issues and updated service usage with dependency injection. The code is ready for review.
Thank you!
brandonlira → made their first commit to this issue’s fork.
Hi @aaron,
I adjusted the MR as suggested, could you please review it again.
Thanks.
aaron.ferris → credited brandonlira → .
aaron.ferris → credited brandonlira → .
I'll work on this!
Hi @aaron, I am assigning this ticket to myself to work on our contrib day!
Updated the outdated/broken link to the current rerolling patches documentation page.
Sorry in my previous comment I uploaded the wrong image.
Thanks!
Hi everyone,
The "Timer Completed" message can now be translated through the User Interface Translation screen.
This MR! 17 resolves the feature request.
Screenshot attached showing the string translated to Portuguese (Brazil).
Thanks!
brandonlira → made their first commit to this issue’s fork.
This patch replaces the preg_replace() used to locate .webp derivative files with the getWebpDestination() method to ensure consistent file naming and allow proper deletion when the image is updated (e.g., after focal point change).
Cheers!
Hi @jwilson3,
The original merge request seemed to be abandoned and the title was still incorrect.
Since there was no update, I created a new branch using cherry-pick and opened a new MR with the correct title as suggested.
Some minor adjustments were also made to fix issues that were causing test failures.
Let me know if there's anything that needs to be changed or improved.
brandonlira → changed the visibility of the branch 3436435-blockcreationtraitplaceblock-should-explain to hidden.
I’ve rebased this issue branch with the latest changes from 11.x (via merge), resolved all merge conflicts, and ensured the code is up to date. All automated tests are passing successfully.
The issue is now ready for review.
Thanks!
brandonlira → made their first commit to this issue’s fork.
brandonlira → made their first commit to this issue’s fork.