Getting a little help from Copilot with Drupal at Your Fingertips

By admin, 31 December, 2023
Image
d9book front page
Image
Screenshot of Copilot in Edge

I did a little experimenting with Copilot in Microsoft Edge.  It offers free access to OpenAI's ChatGPT4 for free.  I think it did some useful things but it is still a little clunky.  I asked it to write a blog post about my being on Talking Drupal Episode 398 and it came up with this:

 

I recently had the pleasure of being interviewed on the Talking Drupal podcast episode 398 about my book, Drupal At Your Fingertips. If you’re interested in learning more about the book, you can find it at https://selwynpolit.github.io/d9book/.

In the book, I provide a quick reference for developers creating Drupal sites. It contains tested code samples for almost every topic, which can save developers time and effort. The book is currently 90% complete and was last updated on September 12, 2023 1.

During the podcast, I discussed various topics related to my book, such as when I started writing it, how long it took to write the first draft, why it’s only available online, and whether I plan to update it for Drupal 10 2.

The book is a Drupal 9 and 10 developer’s quick code reference with tested, proven code used in the real world for secure, performant, and scalable websites. It includes PHP, JavaScript, and HTML 1.

If you’re looking for a quick reference guide to Drupal development, then Drupal At Your Fingertips is the book for you. It’s a great resource for developers who want to save time and effort while creating Drupal sites.

Curiously, it seems to have looked at the leanpub version which is why it thinks it hasn't been updated in a while. I asked it several times to generate an alphabetic list of topics covered in the book with a brief summary of each to which it responded with the following.  Notice the chapter about Layout builder that it made up. I guess the hallucinations are still happening. :-)))

Sure, I can help you with that. Here is an alphabetical list of topics covered at Drupal at your Fingertips, a developers quick reference for Drupal 9 and 10, with a brief summary of each:

  • Blocks - Creating custom blocks, block types, block plugins, block forms, block visibility, block access, block regions, block templates, and block preprocess functions.
  • Cache - Understanding the cache system, cache tags, cache contexts, cache max-age, cache bins, cache backends, cache invalidation, cache rebuild, cache clear, cache warm, and cache performance.
  • Configuration - Managing configuration files, configuration entities, configuration forms, configuration schema, configuration split, configuration import, configuration export, and configuration override.
  • Content - Working with content types, content entities, content moderation, content translation, content migration, content import, content export, and content access.
  • Debugging - Using debugging tools, debugging methods, debugging variables, debugging queries, debugging routes, debugging hooks, debugging events, debugging tests, and debugging performance.
  • Drupal Console - Installing and using Drupal Console, generating code, scaffolding modules, creating entities, updating database, debugging site, and running tests.
  • Drush - Installing and using Drush, generating code, scaffolding modules, creating entities, updating database, debugging site, and running tests.
  • Events - Understanding the event system, subscribing to events, dispatching events, creating custom events, altering existing events, and debugging events.
  • Forms - Creating and altering forms, form elements, form validation, form submission, form redirection, form states, form storage, form AJAX, form theming, and form API.
  • Hooks - Understanding the hook system, implementing hooks, altering hooks, invoking hooks, creating custom hooks, and debugging hooks.
  • Layout Builder - Enabling and configuring Layout Builder, creating layouts, adding sections, placing blocks, overriding templates, customizing styles, and extending Layout Builder.
  • Media - Working with media types, media entities, media fields, media library, media sources, media providers, media browsers, media formatters, and media views.
  • Menus - Creating and altering menus, menu links, menu trees, menu blocks, menu templates, menu preprocess functions, and menu API.
  • Modules - Creating and altering modules, module structure, module dependencies, module installation, module uninstallation, module updates, module hooks, module events, and module testing.
  • Paragraphs - Creating and altering paragraphs, paragraph types, paragraph fields, paragraph display, paragraph templates, paragraph preprocess functions, and paragraph API.
  • Permissions - Creating and altering permissions, permission checks, permission forms, permission routes, permission controllers, permission services, and permission API.
  • Plugins - Understanding the plugin system, creating custom plugins, plugin types, plugin annotations, plugin discovery, plugin factories, plugin managers, and plugin API.
  • Routing - Creating and altering routes, route parameters, route requirements, route options, route controllers, route access, route responses, and route API.
  • Services - Understanding the service container, creating and altering services, service definitions, service arguments, service tags, service injection, service discovery, and service API.
  • Tests - Writing and running tests, test types, test annotations, test assertions, test fixtures, test dependencies, test traits, test modules, and test API.
  • Themes - Creating and altering themes, theme structure, theme dependencies, theme libraries, theme regions, theme settings, theme templates, theme preprocess functions, and theme API.
  • Twig - Using and extending Twig, Twig syntax, Twig filters, Twig functions, Twig variables, Twig templates, Twig debugging, Twig caching, and Twig API.
  • Views - Creating and altering views, view displays, view filters, view sorts, view fields, view arguments, view relationships, view plugins, view handlers, and view API.

I hope this helps you with your blog post. 😊