I just watched the "I gave an AI agent edit access to my site" video that Dries published on writing a simple AI Agent and I thought I'd give it a go as it seemed really easy. For my Agent I didn't want to use ChatGPT as I would probably need to pay for an API key so I've opted to use Ollama locally instead.
I've taken some time to update from Drupal 8 to Drupal 10, and although I don't do much with my site it's a useful testbed and learning tool for new modules and testing.
As part of my role at work I am lucky to have access to some fantastic tools (and a few brains!) which have meant I have been able to setup my personal site with a few good tools from work.
Post migration of content from Drupal 6 (using 8.0.4) an odd thing happened! All the blog body field entries were empty, nothing, nada, zip, zero. After fiddling and faffing with things for a little longer than I am comfortable admitting I went to create a new blog post as a test and then noticed that of course the input formats (aka Text formats) had also been migrated.
Editing the "Filtered HTML" format that was imported threw up this:
Having taken a step back from migrating this blog over to D8 by waiting for the full release of D8.0.0, time has pushed on!
Starting a D8 project today is a different beast entirely. Rather than download a tar ball and manually installing, it's possible (and nay advised!) to use composer to install. The best project for this currently seems to be https://github.com/drupal-composer/drupal-project
To start from scratch with a blank project using drupal-project:
composer create-project drupal-composer/drupal-project:8.x-dev some-dir --stability dev --no-interaction
So it seems that there's a few issues which hold up a d6-d8 migration, some are essentially core features (Taxonomy term values referenced on nodes do not migrate (D6)), and some which obviously have weight but have failed to garner any attention to date (d6 Imagecache -> d8 Image module migration should be included in core).
More for another day now...
So having fiddled with the migration via drush a little, and having restored the database a few times along the way (thanks drush ard/arr) I now have all my content in D8. Seems like taxonomy terms didn't make it (but vocabularies did).
To get the migration to complete without skipping all the nodes completely I had to apply a patch from Skip the row when we don't recognize the the field type to get nodes working.
Seems like Taxonony terms also need work.
So with the default manifest.yml from d.o, and running the migrate-manifest command:
Running d6_action_settings [ok]
Running d6_aggregator_feed [ok]
Invalid argument supplied for foreach() RequirementsException.php:63 [warning]
Migration d6_aggregator_feed did not meet the requirements. Missing source provider aggregator [error]
So first logical steps besides fiddling with all the features in D8 is to get the migration from this old D6 site setup. So let's begin by enabling the migrate and migrate UI modules.
Next step according to the instructions at Executing a Drupal 8 migration seems to be to ignore the UI entirely and head back to drush again.
So looking with fresh eyes at my semi working version of D8, which was installed via the web based installer it was clear that something was just fundamentally wrong. So as with so many Drupal based activities it seems logical to turn to drush (you'll need the version that works with drush 8 of course) to save the day!
$ drush si
You are about to DROP all tables in your 'abc_123' database. Do you want to continue? (y/n): y
Starting Drupal installation. This takes a while. Consider using the --notify global option. [ok]