This website is eventually going to be a place for me to chronicle what I'm learning day-to-day, while at the same time reacquainting me more intimately with drupal. Whether I'm learning something for the first time or reviewing it to get a quick refresher, I'll try to look at things with a fresh eye, and write about them as if I am just learning them. It is my hope that this will make it more likely to be useful to you somewhere down the line.
Submitted by ultrabob on Wed, 10/13/2021 - 11:03
As a personal project, I developed a little python web app, and launched it to a few friends and family. It immediately became clear that the static files was slowing everything down. I probably could have fixed this problem through use of async, and I'll probably go back and do that anyway, but I wanted to understand more about how to use traefik effectively. I tried and failed several times to add an nginx service to it, and when I looked around for examples of how other people did it, I couldn't find a single example.
Submitted by ultrabob on Thu, 10/07/2021 - 09:01
Submitted by ultrabob on Mon, 09/20/2021 - 22:44
The key to logging into wordpress programmatically, at least the one I was working on, seemed to be havng a cookie that gets set on first visit to the page, along with the nonce (This is likely not always required. I see it as being set by woocommerce) set as a hidden value in the login form.
This may be standard behavior or it may be a plugin called Snow Monkey Forms (I see a cookie set by that).
Submitted by ultrabob on Mon, 03/01/2021 - 17:15
$target_ids = array_column($entity->field_name->getValue(), 'target_id);
Submitted by ultrabob on Tue, 02/18/2020 - 17:39
I needed to make a local backup of an old Drupal 7 site that has been upgraded to Drupal 8. The site used search_api_solr with Solr 5 and search_api_attachments with a local tika jar file installed to do the extraction. After going through the history in github to find a suitable docker-compose.solr.yaml for solr 5, and getting that setup, I realized that the attachment extraction wasn't working because I no longer had a local tika install to work with.
Submitted by ultrabob on Thu, 02/16/2017 - 16:42
The #ajax['wrapper'] property includes the HTML ID of a page section that should be replaced (or altered in some other way).
The #ajax['callback'] tells the Form system what callback should be called after the Ajax call happens and the form is rebuilt.
Submitted by ultrabob on Tue, 02/14/2017 - 13:47
The project I'm working on nicely manages to involve segments of drupal that I didn't learn as much about with the last project. I'm going back and working through the relevant submodules of the examples module to try to get a clear understanding of the drupalish way to handle things. The first thing on my list is simpletest. This is something I could/should have learned for the last project, but I had so much going on that I never got to it. It probably would have saved me time if I'd been disciplined, so I'll try to be more test-driven this time.
Submitted by ultrabob on Thu, 03/17/2016 - 15:10
This all started with a question on Drupal Answers in which I was trying to figure out how to manipulate the render array of paragraphs module output to turn it into a comma separated list of field content.
It turned into a fun exploration of css selectors that I haven't messed with in a long time. Here is a jsfiddle for you to follow along with.
Submitted by ultrabob on Mon, 01/25/2016 - 18:01
Now that I've managed to track down the patch for this issue I realize that I probably wasted a lot of time trying to find alternatives to field collections, and even making a start on my own compound field type.
Pages