The fix should be in the latest Drupal versions: https://www.drupal.org/project/drupal/issues/3473195 📌 twig/twig has a possible sandbox bypass RTBC
Could you do the warming part yourself? Just before the migrations, download the data from all the URLs to your local server and then migrate from localhost.
FYI: "India already faces a poor nurse-population ratio and the situation is set to worsen with nurses emigrating to other countries in large numbers, doctors and medical experts have observed, noting this creates a big gap in addressing the country's healthcare needs... Citing figures from the regulatory body Indian Nursing Council, Association of Healthcare Providers (India) director general Dr Girdhar Gyani said there are more than 33 lakh nursing personnel registered in the country but this figure is dismal given India's 1.3 billion population. ''With 1.96 nurses per 1,000 population, India falls short of the World Health Organization (WHO) recommended rate of three nurses per 1,000 population,'' he said.
At least they aren't trying to take them from West Africa where things are even worse.
I don't have Windows, but if anyone wants to help debug this add code to ConfigInstaller.php inside the checkConfigurationToInstall method. Do $config_install_path and $enabled_extensions look OK? If you modify $enabled_extensions to add things that should be enabled, does it work (or at least get further along)?
I can't reopen this issue, but the link stopped working again. They added a "/dist" at the end.
By "Interactive Installer" I assume you mean you loaded localhost/YOURSITE and you got the screen that asks you to choose a language, enter the db info, etc?
In that case, maybe it's a user or permissions problem. Are the directories and files in web/core/modules readable by your webserver, like the files in the block module?
Does a different profile (like the umami demo) work?
What about an earlier version, does this work?
composer create-project drupal/recommended-project:10.3.2 just_a_test
I'm not familiar with the Interactive Installer, but can you try using composer?
composer create-project drupal/recommended-project my_site_name_dir
See https://www.drupal.org/docs/getting-started/installing-drupal → for more.
I filed a bug report here, please follow this too: https://www.drupal.org/project/drupal/issues/3472167 🐛 Minor warning from CKEditor about HTML restrictions Postponed: needs info
In the meantime, changing the CKEditor settings about which HTML elements are allowed might resolve it. Move the restrictions around, remove and add them back, etc. You can also patch the code on your server to add the change I gave, but bear in mind that might mask a more fundamental issue.
tolstoydotcom → created an issue.
You can ask in the ultimate_cron issue queue, but it might be better to just set up a test and see if that fixes it. However, I'd first try to reduce the time the code spends. Whether it's contacting external services or doing a lot of db work, I'd look to see if some of that could be cached or the queries could be optimized. Look at MySQL's slow queries log. If possible, off load the work to another server. Or, split the work into smaller chunks. There's no real way to tell how to solve this without diving into the custom code.
I haven't traced the code involved, but I'd *guess* core gets the schema and then sets the db before creating the table so your change doesn't matter.
Since this seems to be an issue that only affects your installation, why don't you just add code to create the tables in your second db and delete the tables that were created in the first db?
It's recommended to use clean URLs for SEO. It's also a lot better for humans: post-about-cats is more descriptive than node/239012.
However, if you look in the source code of the page you might see a shortlink that just uses the node ID. If not, you can add that using the metatag module. I believe if you do add the shortlink, you should also have a canonical link so search engines don't get confused.
I'd suggest asking on SEO forums for latest recommendations.
Drupal has been described as a "CMS construction kit". If there are things that you're going to change frequently, they can be exposed to admins in a friendly way, with wizards, etc. Contact me if you need help with that.
You seem to be engaging in "premature optimization". Put the site - or a mockup - together first, then look into any bloat/performance issues. As long as the project warrants a fairly fast server you probably won't have problems. If you do, you can hire someone or ask here or elsewhere.
For future reference, this appears to have been a result of using an older version because they resolved it in newer versions:
If you just deleted the physical files from the file system, then all you should need to do is just put them back in place from your backup.
If you deleted the files through the Drupal UI (or programmatically) then the safest thing would be to put the physical files back and then write code that creates the files in Drupal. If they were referred to by other entities, then you'll need to re-reference them.
If you have to ask about database surgery, you probably shouldn't attempt it.
The namespace is wrong, you don't have a use
statement for the class you're trying to inject, I doubt you want the static
bits, and there may or may not be anything that injects the class in question.
I suggest you use drush to generate a service class, or copy and paste code from something else.
Put 22 in the preview box and press the button. Do you see all the posts tagged with that tag? If not, adjust the items in the 'Filter criteria' section. Maybe your posts aren't published or are in a different language. If you modify the view it won't be changed unless you press Save.
Go to admin/structure/taxonomy and click 'list terms'. Then, mouse over the edit links and get the numbers from the URLs. They're probably 1, 2, 3, etc.
Then, go to admin/structure/views/view/taxonomy_term and put 1 (or 2, or 3, etc) in the box and refresh the preview. Do you see all your pages? If not, adjust the values in the 'Pager' section.
I'm not familiar with how that's set up but if you search for the core.services.yml
file the sites directory should be a level or two above.
That's just one file: https://github.com/symfony/deprecation-contracts/blob/main/function.php
In your copy, change line 25 so it's like this, then clear caches:
//@trigger_error(($package || $version ? "Since $package $version: " : '').($args ? vsprintf($message, $args) : $message), \E_USER_DEPRECATED);
That probably isn't the problem. If the config exports match, maybe it's some sort of Apache/nginx/PHP setting. If it's not that and you can't/won't trace the menu generation code, then I'd just export content from the bad site into a copy of the good site.
That page might work for setting up LAMP, but it creates a suboptimal Drupal installation. Unless you've already made changes, I suggest deleting the Drupal download and following these instructions instead: https://www.drupal.org/docs/develop/using-composer/starting-a-site-using... →
The new site will contain a 'web' directory, and that's what you point Apache at. You'll need to change the path in the drupal.conf file to match.
Can anyone duplicate this using a minimal set of steps? Or, post the files+db somewhere after removing all personal info and as much content as possible.
The next thing is to run composer show | sort
in both sites and compare them. And, export the config files from both and compare those.
After that you'd probably need to add debug code to the menu generation code to find out what's adding the destination.
Try to figure out the differences between the two sites. Same core version, same contrib modules/versions, etc. Disable modules to see if something changes. Is there custom code? Disable that if so.
If there isn't a module, you could use hook_views_query_alter or write your own filter (see HistoryUserTimestamp in the views module). Alternatively, use all custom code instead of views (you just need to pay attention to sanitizing output and make sure it isn't creating a lot of extra work).
The contrib Workflow module seems to work on D10. It has a submodule that handles permissions. If you have problems with it, the issue queue seems to be active.
You might want to duplicate what was done in D7, just updated.
In any case, all Drupal versions have roles. Put your users in roles depending on what they can see, and use one of the access modules to restrict visibility based on those roles.
https://stackoverflow.com/questions/28113740/mysql-select-where-timestam...
You may or may not want to search for a range of times around midnight if the nodes were created manually.
No, it's not bad style. I wasn't suggesting creating all your fields through the UI, just create your field on one entity type. After that you should be able to create it on other types OK.
I just tried your command on Drupal 10.3.0 and Drush 12.5.2.0. It worked OK. So, maybe there's a bug in whatever versions you're using and you should post an issue in the drush queue. You can also clear cache and run cron a couple of times.
Unless there's a need to do everything with drush, the easiest way to resolve that is to create that field through the UI on one content or entity type. After that, you should be able to add it to others using drush.
Is guzzle in your vendor directory and what version is it? Maybe try running this from a command line: composer require guzzlehttp/guzzle
It sounds like a server issue. Ask your host to review the mail logs. You can test using non-Drupal software that has a sample of how to send an email from PHP.
As an alternative, you can use the webform module. Enable the submodule that puts webforms in nodes. Use the webform_views module to show the user's submissions.
No matter what you do, test it thoroughly to make sure User A can't see User B's forms.
You can post the patch to the views issue queue: https://www.drupal.org/project/issues/Drupal →
I assume you're talking about the thumbnail for the video. Is there a formatter that does what you want? If not, you might need to write one. A quick hack would be a little JS, but anyone who's disabled JS will still see the image. You could also embed it using views and that might give you more control.
The emails on admin/config/people/accounts all let you add tokens.
If you can write PHP, go to line 115 of /home/xxxxxx/public_html/core/lib/Drupal/Core/Routing/AccessAwareRouter.php and add debug code trying to figure out why the access fails.
You can also go to /home/xxxxxx/public_html/core/lib/Drupal/Core/Config/Entity/Query/Condition.php and print out $this->conditions . That's probably just warning but it might give a clue what needs to be changed.
Is the comment module disabled? If so, enable it and see if that fixes it.
Not to belabor the point, but #8, #26, & #27 all have ways you can help debug what's actually going on. Please take out a few minutes to do one of those.
I haven't tried this recently, but I didn't have to do any setup to see a problem: https://www.drupal.org/project/bat_api/issues/3411329#comment-15384506 🐛 With Drupal 10.2.0 the rest api doesn't return a valid json Needs work
Per https://www.drupal.org/project/drupal/issues/3432990 🐛 Content-length incorrect and response truncated in web servers Active it might be a webserver issue, but Carlitus is running Nginx, while I'm using Apache2 so maybe it's a generic problem with the content length or similar.
Experienced Drupal developers don't have problems to this extent. I can make Drupal do what I want it to do in most cases, but I can also code in plain PHP for a specific feature and incorporate that into Drupal if necessary. I could even use another language like Java: Java calling a Drupal webservice or vice versa, etc.
Wordpress is a much inferior platform if you want to do complex things, but it's good for non-technical users who want to do simple things like show blog posts.
Drupal = driving a stick shift tractor trailer, Unimog, EarthRoamer, rock crawler, etc.
Wordpress = driving an automatic sedan.
We had the same issue with 8.x-2.0-rc4. I assume this is a Drupal core issue, maybe involving caching. However, I just patched this module to add the template link if it doesn't exist. I added a 'define' even though it might be better to move some of the code into a class and use a class constant. I can update the patch to do that on request.
I have a similar problem with 3.2.2, it appears to be because the module doesn't delete relationships when a group is deleted.
I figured that out by adding rawdebug($this->getGroupRelationship()->id());
at the start of GroupMembership::getRoles, then selecting the group_relationship_field_data row for that ID and noting that the gid column references the group that I'd deleted.
I haven't looked into whether newer versions of this module fix that, if not you can add code that deletes its relationships when a group is deleted.
Did you type in "[user:name]", or copy and paste it? Maybe it has special characters in it. If that's not it, add debug code at the end of the token_replace function in token.inc.
g011um: the bat_api module depends on bat, ctools, fullcalendar_library, hal, and services. Are you using any of those modules? If so, is it possible for you to disable the ones you're using to see if it's one of those modules as opposed to core/vendor?
The problem everyone seems to be having is that the end of the JSON is being cut off. Even if the route exists, the JSON is invalid. There's some sort of bug or incompatibility between Drupal 10.2.0 and this module or one of this module's dependencies.
Re #13, that wouldn't work. The "drupal1020" part is because I have multiple local sites, and the "web" part is because I installed Drupal using the standard composer project. If I installed this at the root of its own domain there'd still be the problem (unless the module is doing something really weird).
What I suggest is tracing through a request in a debugger, or removing things until you can pinpoint where the problem is coming from.
Also, I checked Symfony\Component\Serializer\Encoder\JsonEncoder::encode(), which is used to produce the JSON. It's returning correct JSON. Something must be changing it somewhere along the line.
Always include the error message or at least a screenshot. That doesn't guarantee someone will answer; I'd imagine few people are using the same environment as you describe.
You can do anything you want on your own site, there aren't Drupal Police.
Add --help
to both drush commands: they can write to and read from custom directories. So, you could export all of the config, pick one or two files, put those in a directory, and import from that.
If you're moving config files between unrelated sites, remove the UUID lines from the config files before doing the import.
There are also contrib modules to make workflows easier.
Re #5, this URL:
http://127.0.0.1/drupal1020/web/bat_api/calendar-units?_format=json&types=7&ids=&event_type=availability_hourly&_=1703844559776
Results in this JSON:
{"message":"No route found for \u0022GET http:\/\/127.0.0.1\/drupal1020\/web\/bat_api\/calendar-units\u0022
It's missing the final "}
Like I said, I'm not familiar with the module. I just installed/enabled it in a new site, I didn't create any content for it.
Looks like you're living in the past...Contemporize...man.
There are huge downsides to D8 vs D7, but the upsides are greater. The switch keeps Drupal from becoming like COBOL or Fortran.
Any time you have an error like this, there's no way to diagnose it without more details. Does admin/reports/dblog have the details? If you can't access that page, look in the db for the last few messages in the watchdog table. And, look in the PHP or webserver error log.
I didn't research this, but I'd imagine the webform module could help. If the form can live in a block it might be able to get the nid from the current page. Otherwise you could have a link to the form, use a token to put the nid in the link, and then have webform read the nid from the URL.
I looked into this a bit. I'm not familiar with this module, but that URL returns invalid JSON without having to do any setup.
After enabling the module, when I access http://127.0.0.1/drupal1020/web/bat_api/calendar-units?_format=json&types=7&ids=&event_type=availability_hourly&_=1703844559776
I get this:
{"message":"No route found for \u0022GET http:\/\/127.0.0.1\/drupal1020\/web\/bat_api\/calendar-units\u0022
However, in Symfony\Component\HttpKernel\HttpKernel::handle, when I change the code so it has $response = $this->handleThrowable($e, $request, $type);
and then print out '' . $response
, I get correct JSON. That is, converting $response
to a string at that point is not missing the final "}
.
As a wild guess, there was a workaround added that cuts off the last two characters of the return value, but whatever the workaround was for no longer applies.
Does that mean this is resolved and it's not a Drupal issue?
I missed a spot so I added more to viren18febS's patch.
Is your private file system set up correctly and is rainermarschAusgeblendet_0.mp3 an actual file there, with that capitalization? Unix is case sensitive. Are the permissions of the file and the private directory set correctly? The NULL bit means Drupal doesn't see it as a file.
You can test that private files are working with something else like adding a file upload field to nodes.
TolstoyDotCom → created an issue.
Indeed, why? If the OP doesn't run any tests then those files shouldn't be loaded. Disabled modules shouldn't be loaded, etc.
The presence of all the tests adds a lot of noise when grepping the source, but that's a dev issue, not a performance issue.
Looking at the code, is the scheme correct? You can use my rawdebug module or just add print_r statements to find out what the input is and what the problem is:
rawdebug('uri', $uri);
rawdebug('scheme', $scheme, $this->streamWrapperManager->isValidScheme($scheme));
rawdebug('file', is_file($uri));
Add those just before the if ($this->streamWrapperManager->isValidScheme($scheme) && is_file($uri)) {
line in core/modules/system/src/FileDownloadController.php
The better place is to post to the issue queue: https://www.drupal.org/project/issues/tmgmt →
Before the ** line, add this:
echo $entity ? $entity->id() : 'NO ENTITY';
echo "\n\n";
echo !empty($this->definition['field_name']) ? $this->definition['field_name'] : 'NO FIELD NAME';
That might tell you the entity ID and field name, from there you might be able to figure out the problem. If not report back.
This might work: https://www.drupal.org/project/eva →
You might need to adjust the permissions for the directory with the CSS/JS. There's a guide here that gives details on that.
It's explained here: https://www.drupal.org/project/drupal/issues/2522008 →
There could be other reasons for that error. Look in the web server's error log or ask your host to do it.
You could write some JS that takes those messages and shows them in a modal, or hook into the core code that produces the messages.
However, you might want to think about this from the user's POV. If there are 10 messages and you show them in sequential modals that's going to be really, really annoying. If you just put those 10 messages in one modal, what's the point? It'd be basically the same as when the messages were shown in the page.
If you can code, you could export the old content to JSON using a Views contrib module and then write a little code to read the JSON and create nodes. You can find sample code to create nodes and that would be easier than learning how to use the migrate module (unless you want to learn about that anyway).
I thought I already did the part about the CSV and XML readers returning the same array, but I'll look into that more.
Since I made my changes without having used the module with custom fields, what would help is sample CSV and/or XML data (just one term is needed) together with instructions on which field to add, etc.
Assuming you're using GD as the image toolkit, just add this to core/modules/system/src/Plugin/ImageToolkit/Operation/gd/Scale.php at the start of the execute method:
echo 'here';exit;
Then, move that to other parts in the same method to make sure it's returning TRUE. (Turn off caching, aggregation, etc first).
However, it sounds like this is either a difference in configurations between the sites, or a system issue. See if you can figure out the difference in the systems, like the GD version etc.
This is too vague. What are you using for the tour? Drupal has different pager styles. There might be a config setting for the tour module, but in the worst case you could write or have written some code that would modify the page to use a different style of pager.
First, good luck. You must have a **lot** of menu items. Second, you'd probably need to compare what's in the menu_router and url_alias tables. There are also sitemap modules that would at least give you links to all your published nodes.
This is too vague. Upload 'flubzip.jpg', then search for '*flubzip*'. Were derivatives created? Check the directory permissions for where the files are stored. Add debug code to Drupal's image manipulation functions to see if they're being called, etc.
The Tin Man survived without a heart for a long time, but a Drupal site wouldn't function without the user module.
What you can do is restrict visitors from access the forms, like only show the login form from certain IPs. There are probably modules that do that or you can hire someone to set it up.
Can you follow the instructions here or do you need some specific version? https://www.drupal.org/docs/develop/using-composer/manage-dependencies →
Specifically, I mean this:
composer create-project drupal/recommended-project my_site_name
If that causes problems, there are a *lot* of people who'd be interested in knowing about it.
Post a screenshot of the full text area you're putting your HTML into. Include what it says *below* the text area.
Below the text area there's an 'About text formats' link. If you click that you'll probably find something saying 'Lines and paragraphs are automatically recognized. The <br /> line break, <p> paragraph and </p> close paragraph tags are inserted automatically.' That's probably the problem, so switch to a different text format.
It's a bad idea to duplicate things like this. First, you might get penalized by search engines for having duplicate content. Second, it's hard to keep them synchronized. Follow the suggestion above. You can then format the fields differently on the different content types if you want.
Have you tried a later version? https://www.drupal.org/project/drupal/issues/3364801 📌 PHP Fatal error: Declaration of Drupal\Core\TypedData\Validation\ExecutionContext Closed: duplicate
Your description is a bit vague, but it sounds like you're using a text format that converts newlines into paragraph tags. Look on admin/config/content/formats
https://drupal.stackexchange.com/a/201731 seems like it would work. You could also add a "Delete on" date field to nodes etc. Set the default value to 2 weeks from the current date. Create a view that lists entities where the "Delete on" field is in the past. Create an ECA (not Rules) rule that runs on cron and deletes the entities listed in the view.
Frankly, little about Drupal is "easy". If you just want an online database for, say, school rooms, then you could create a new type of content named SchoolRoom (admin/structure/types, click 'Add content type'), add relevant fields to it (like a field to hold the number of chairs, etc). Then, go to admin/structure/views and create a view to show the rooms in a table. The interface will be daunting at first, but just look at some of the other views to see what you have to do.
The problem is when you want to go beyond that. Then you might have to hire someone to do custom coding, theme work, recommend/setup contrib modules, etc.
You're talking about "base fields". Those only work if there's a limited number of them. If you're going to have an unlimited number - like of images - you'll need a separate table.
See https://drupal.stackexchange.com/questions/180885/using-hook-entity-base...
The core patch from the other issue is the same as the merge request mentioned in my #10 and #14 comments.
In your site, does core/lib/Drupal/Component/Render/FormattableMarkup.php contain ctype_alnum?
How often is this going to happen? If not frequently, you could just add a field to the user entity called "Delete my account". When someone checks that they'd appear in a view and an admin could then delete their account manually. You could also make "Delete my account" a textfield that they'd have to type "DELETE" into. Doing it that way would avoid code and guard against users changing their minds etc.
In addition to what Jaypan said, you might want to only have the product ID on the product. That assumes "product specifications" is not freestanding: that is, assuming that it will always be linked to a product. This way you don't need to make sure that both fields have the same value. Given a "product specifications" you can get the product ID from the linked product.
Those corporate/goverment users aren't giving back, even though most could easily afford to do so (sponsoring maintainers, etc) and it's in their best interest.
select * from block_content_field_data;
select * from block_content_field_revision;
If you delete it in the db directly (not recommended if you aren't experienced), you'll need to look in the other 'block*' tables and delete other rows that refer to the block. Then, clear caches.
Better: just change the name in both of the tables above and clear caches.
The patches in #10 & #11 probably won't work.
I posted a link to things you can do in #27.
It'd be great if someone who's experiencing this issue would spend a little time trying to find out what's in the callback.
Then something must be keeping it off that page, either the block config or some other module. Look in the config info for the block, create a copy of the site and disable contrib modules in the copy until the block comes back, etc.
I'm sure there's some sort of way to do this just using the Drupal UI, but the much easier way as long as you can code is to just use custom code.
For completeness' sake, here's the issue the OP filed that's now fixed: https://www.drupal.org/project/mix/issues/3386397 🐛 1.8.0-rc2 breaks ajax views ui Fixed
You probably need to add the block that has the search form to the pages. Look on admin/structure/block
Create a file in the Drupal directory & put this in it:
<?php
phpinfo();
Then load it in your browser and look for a PDO section. One possibility is that PDO is only working with the PHP command line interface, not with the one that your web server uses.
That's voodoo, not a solution. That means all the other tables that refer to user IDs are off: posts by Bob are now by Fred, etc etc. Next time find out where the error is happening and add debug code to try to pin the problem down.
You have a long-running or blocked cron job somewhere. Add debugging calls to each hook_cron implementation in your custom/contrib modules to try to find out which cron job it is, then add debugging code to that to find out what the problem is.
Without a full stack trace and without OP trying what I suggested it's hard to tell what it could be.
The value addition is let's say you store "flurb" and "zumbo" (pretend those are longer names). Hashing would make those "kq3w12" and "riqjuwq", keeping the first few letters would be "fluw12" and "zumjuwq". That way you could kinda see what they are in case you need to debug something.