Is this about "modules entirely written by AI without much human interaction which might contain security issues" that need the label.
OR
"Modules that integrate with AI tool X/Y written by a human"?
For the first one, I think we don't need a module category but a label which can be seen as a disclaimer (similar to thingiverse/printables for AI STLmodels).
For the second one, a module category would work (e.g. for modules under the AI initiative)
MR looks good now, thnx @xjm :-).
And thanks Sam!
I need to manually test the upgrade path on an existing site with data. Code wise this looks really good though, so I'm quite confident this will be ok.
And thank you for your work @tame4tex
No update for over a year. Please re-open if still relevant.
This was fixed in 🐛 AssertionError: "General" must be defined in MODULE_NAME.field_type_categories.yml in assert() (line 183 of core/lib/Drupal/Core/Field/FieldTypePluginManager.php). Active . Assigning credits for the work done here.
Thanks everyone. Merged and will tag a release shortly.
The MR description screams AI, so does some of the text changes.
Not all suggestions are properly fixed. Also added one extra comment about the "hosting provider" thing as I'm not sure that is still relevant this day of age.
+1 Would also recommend creating a change record for this.
This could use a change record for 2.x this has already broken pipelines.
I guess when one goes another one pops up :-) there are also other tools like Datadog and uptimerobot that can do some things, but not all.
Some others I found:
Removed leading space from title.
Proofread all strings and added one extra comment to the MR.
Landed on this issue through the change record. I updated that one so the version is removed to be more clear it's not yet published.
Issue could use an issue fork instead of patches :-).
Checked a few other recent changes and fairly certain we need to keep the module and use - ?
when there is no submodule maintainer.
Should the whole block be removed? And not only the maintainer like the other submodules?
Example
Content Translation
- ?
Probably could use some tests, but this is ready to go!
No new features will be added to 8.x-1.dev. This includes D11 support.
Please upgrade to 2.x as it also contains a lot of bugfixes and new features.
bramdriesen → created an issue.
The page I linked is indeed about the credit system, but this is part of a larger discussion: https://www.drupal.org/project/site_moderators/issues/3332699 🌱 Do we need a policy on AI-generated content Active
You can't opt out of the credit system as far as I know.
Just make it clear on your module description that it's entirely written with LLM language models and might contain security issues. There is no defined format or message to display on your module. Here is an example of another module that kicked up some dust: https://www.drupal.org/project/static_node →
@maxilein Note that publishing AI generated modules without disclosing it's AI generated is against the policy and is considered as abuse.
https://www.drupal.org/drupalorg/docs/marketplace/abuse-of-the-contribut... →
Your module description and code clearly show signs it's just AI gibberish.
Your module is now on my personal blacklist.
Hmm that should not happen. I think the whole if/else section could be simplified to also improve readability.
And o boy, what a bad variable naming happened when this module was created 😅
I think a small description for what "Skip Display to own activities" does would also help.
jpvos → credited bramdriesen → .
xjm → credited bramdriesen → .
I think for my use case it's as simple as:
- Create a view with a page
- Add a menu link to set page
- Try to visit the view page
I'm not testing this on a vanilla project.
Ok this is ready for review again. Tests all pass :-)
This is the underlaying issue: The request you're passing in is the current request, not a request for the views route.
I also have this issue, however my stacktrace is a bit different because it's about a ViewPage.
Error: Call to a member function hasOption() on null in Drupal\views\Routing\ViewPageController->getRouteArguments() (line 101 of core/modules/views/src/Routing/ViewPageController.php).
Drupal\views\Routing\ViewPageController->getTitle()
call_user_func_array() (Line: 58)
Drupal\Core\Controller\TitleResolver->getTitle() (Line: 433)
Drupal\menu_breadcrumb\MenuBasedBreadcrumbBuilder->addMissingCurrentPage() (Line: 348)
Drupal\menu_breadcrumb\MenuBasedBreadcrumbBuilder->build() (Line: 85)
Drupal\Core\Breadcrumb\BreadcrumbManager->build() (Line: 73)
Drupal\system\Plugin\Block\SystemBreadcrumbBlock->build() (Line: 171)
Drupal\block\BlockViewBuilder::preRender()
call_user_func_array() (Line: 113)
Drupal\Core\Render\Renderer->doTrustedCallback() (Line: 870)
Drupal\Core\Render\Renderer->doCallback() (Line: 432)
Drupal\Core\Render\Renderer->doRender() (Line: 504)
Drupal\Core\Render\Renderer->doRender() (Line: 248)
Drupal\Core\Render\Renderer->render() (Line: 484)
Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 244)
__TwigTemplate_8470b504d89b71c3df10927dbb9dcb9a->block_breadcrumbs() (Line: 432)
Twig\Template->yieldBlock() (Line: 118)
__TwigTemplate_8470b504d89b71c3df10927dbb9dcb9a->doDisplay() (Line: 388)
Twig\Template->yield() (Line: 344)
Twig\Template->display() (Line: 359)
Twig\Template->render() (Line: 51)
Twig\TemplateWrapper->render() (Line: 33)
twig_render_template() (Line: 348)
Drupal\Core\Theme\ThemeManager->render() (Line: 491)
Drupal\Core\Render\Renderer->doRender() (Line: 248)
Drupal\Core\Render\Renderer->render() (Line: 484)
Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 108)
__TwigTemplate_a879401966f69f40ede102b368340c72->doDisplay() (Line: 388)
Twig\Template->yield() (Line: 344)
Twig\Template->display() (Line: 359)
Twig\Template->render() (Line: 51)
Twig\TemplateWrapper->render() (Line: 33)
twig_render_template() (Line: 348)
Drupal\Core\Theme\ThemeManager->render() (Line: 491)
Drupal\Core\Render\Renderer->doRender() (Line: 248)
Drupal\Core\Render\Renderer->render() (Line: 158)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 638)
Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 153)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray()
call_user_func() (Line: 111)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 186)
Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76)
Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 68)
Drupal\simple_oauth\HttpMiddleware\BasicAuthSwap->handle() (Line: 53)
Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28)
Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 116)
Drupal\page_cache\StackMiddleware\PageCache->pass() (Line: 90)
Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36)
Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51)
Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 741)
Drupal\Core\DrupalKernel->handle() (Line: 19)
I guess the use case might differ for different projects. I for example had a use case where the client wanted to get a notification when a node was created, but not yet published (workflow review process).
I think it makes more sense to add an Access check to only show the notification if you have permission to view that specific entity. Would that cover your use case as well?
Thanks for testing. Merged and will tag a new release
Thanks!
@keshavv this ticket is closed for almost a year. It's recommended to create a new ticket and reference to this issue. Also note that the patch workflow is deprecated, you should use merge requests.
Assigning credits.
Thanks for looking into this and providing support!
That commit only updated the info.yml, so not sure where things went wrong :-)
yet they are maintained by individuals who are part of the security review or advisory process.
What exactly is this referring to? People with the vetted role so they can opt-in a module? Let's use correct terminology :)
See #34 and #39
To propose improvements, you would need to accurately describe the current processes and how what the changes would be.
That has not been done in this issue, only misrepresentation. Categorising the responses you've received as a lack of 'openness' is further misrepresentation of the issue.
Those need to be in the issue summary (hence the tag "Needs issue summary update").
i don't neither understand the current status of the issue what mean, what are the needed information from which mantainer?
The status reads: Maintainer needs more info.
Meaning, the moderators need more info from you, the reporter. As we're just circling around about what the goal here really is.
esmoves → credited bramdriesen → .
Can you create an issue fork and merge request?
I also don't think we need such a "complex" IF-ELSE structure.
Thanks!
I guess we can add a type checking to see if we have a link/url object.
I think you forgot to upload the image. Also looks like the wrong type of tab indenting was used (see eslint report).
error Replace `↹↹↹↹↹` with `··········`
@bigbabert I think you're misinterpreting a lot of things being said here. The fact if a junior can or can't write code with or without bugs really doesn't matter here. The real issue is that people are just blindly "accepting" what those LLM's generate and push potentially dangerous code if they don't take the time to properly review what was generated.
I'm using CoPilot in PhpStorm since it's release. And I must say, what it spits out sometimes really makes my eyes frown. It's a really handy tool to have, and does save a lot of time, if used properly. I'm only using it to write single lines of code, more like a "autocomplete" like you are suggesting. For things that I used to google each time (such as the date function in PHP, some specific entity/database query, or even just translating .po files) it really saves time. But when it tries to do larger things, I always skip it since the output is still not good enough to be used. Even the most simple design principals are skipped, resulting in poorly written and none performant code. Fixing and reviewing all those things are simply not worth it, and it's a lot faster if I just write it myself, properly from the first time (pretty much what Cmlara is saying in #40).
Again the thing to take away here is: AI works great, if used and monitored properly. And I don't think many people have issues with using AI like that. The push back in this issue is about entirely generated modules, without proper knowledge/review of what it's doing. Yes what it spits out might work when you tested it, but is it safe? Performant? Following Drupal's or even just PHP best practices (not talking about PHPCS et al)?
Hmm not as trivial.
Drupal\Component\Plugin\Exception\ContextException: The 'entity:node' context is required and not present. in Drupal\Core\Plugin\Context\Context->getContextValue() (line 73 of core/lib/Drupal/Core/Plugin/Context/Context.php).
bramdriesen → created an issue.
Can we create a merge request for this?
Looking at the code removed in the setSessionInfo function, the php code doc should also be changed?
Re #7, probably not, but that was the default value when creating a core security issue from the security team docs ;-).
Adding a related issue which was mentioned in the private issue queue. However to me that is not the issue here but a broader discussion.
Updating IS
Assigning credits
bramdriesen → created an issue.
Works great :-)
Going to re-roll this for 3.x
This seems to be a regression from adding D11 support.
https://git.drupalcode.org/issue/minisite-3524424/-/commit/340184efdee81...
So this might need to be solved differently.
bramdriesen → created an issue. See original summary → .
bramdriesen → created an issue.
bramdriesen → created an issue.
Great to see this happening 🙌 my votes go to:
- Marine Gandy (Mupsi)
- Joris Vercammen (borisson_)
I didn't test nor investigate this yet, but noticed the cache_metadata is set to -1. Doesn't that effect this as well.
Also need to check how the Drupal core node view for example does caching, as this is just an admin overview.
Will leave it at NR for now. Thanks for the report and merge request @alorenc
Also updated in the event.
Added the current list of speakers to the event: https://www.drupal.org/community/events/drupal-developer-days-leuven-bel... →
Think Jonas also deserves credit no? :-)
Added to volunteers at https://www.drupal.org/community/events/drupal-developer-days-leuven-bel... →
I noticed today that the user is seeking guidance on how to contribute properly on slack.
https://drupal.slack.com/archives/C1BMUQ9U6/p1745611803988939
Alberto Cocchiara
:palm_tree: 10:10 PM
hi all, I'm a Solution Architect working on Global project in the past 12 years, some of this are on Drupal where i moved my first step in Enterprise CMS practice, nowdays i work on Adobe AEM mostly but i want to give back something to Drupal community, that i'm part from almost 7 years, so i'm looking for a mentor to be guided to properly contribute in an effective way, thanks to anyone can point me or become my mentor :good-luck:
No problem! Thank you for the MR 😇
@mfrosch Please don't name an issue fork branch the same as the base branch in the future :-P it's a nightmare to work with when you want to rebase set base branch on the issue fork.
bramdriesen → made their first commit to this issue’s fork.
Will tag a new release because of the broken update hook.
No activity over 2 days, un-assigning. Feel free to pick this up again.
I would advise against this. Just imagine you're using this to store the database credentials, and somebody manages to do a screw up on production wiping the entire file. Meaning if this was done through the UI, Drupal would crash and you have to scramble to find someone to fix the file on the server. You might also not want everyone to be able to get access to those secrets, having the possibility as a site admin to just enable this via a module, seems a bit as a risk to me.
I guess this can also happen there, but at least a sysadmin shouldn't make such a mistake :-).
Can be re-rolled now
Just needs a rebase, there is another issue open also adding an update hook so let's wait for that one.
Tested, could reproduce and this MR fixed the issue.
Found the issue. MR created.
Code is also not OK, this is part of the entity already, no need to define a new basefield. No upgrade path provided either.
Possible duplicate of 🐛 Error saving polls after translation added when used in conjunction with conflict module Postponed
We could look into implementing this with a recent core feature. Not that much logic needed for this.