edutrul
- 36 skills
- 0 followers
- 6 hours ago last updated
- ▌
- ▌
- ▌ Drupal Composer · edutrul bundleDrupal Composer management — requiring modules, updates, patches via composer-patches, and version constraints.
- ▌ Drupal Form API · edutrul bundleDrupal Form API — building forms with FormBase/ConfigFormBase, form elements, validate/submit handlers, DI, and generating forms with Drush including routes.
- ▌ Drupal Security · edutrul bundleDrupal security for routes, controllers, forms, and queries. Add route permissions, access checks, CSRF protection, XSS prevention, SQL injection prevention, and secure file upload validation.
- ▌ Drupal Services · edutrul bundleDrupal services and dependency injection for controllers, forms, and plugins. Inject services into block plugins, custom plugins, and services using ContainerFactoryPluginInterface and services.yml.
- ▌ Drupal Taxonomy · edutrul bundleDrupal Taxonomy — loading taxonomy terms, vocabularies, term hierarchy, taxonomy term reference fields, and Twig or PHP patterns for taxonomy entities.
- ▌ Drupal Debugging · edutrul bundleDrupal debugging techniques — Devel module, Drush watchdog, Twig debug, XDebug, error logging, and common troubleshooting patterns.
- ▌ Drupal Entity API · edutrul bundleDrupal Entity API — loading, creating, updating, and deleting entities using entity_type.manager. Node, User, Term, Media patterns.
- ▌ Drupal Form Alter · edutrul bundleDrupal form alter patterns — hook_form_alter, hook_form_FORM_ID_alter, OOP hooks, hiding fields with access, changing required/default values, and adding validate or submit handlers.
- ▌ Drupal Javascript · edutrul bundleDrupal JavaScript behaviors, libraries.yml, drupalSettings, attach_library(), and custom client-side AJAX commands using Drupal.AjaxCommands.prototype.
- ▌ Drupal Migrations · edutrul bundleDrupal migration API — D7-to-D11 upgrades, CSV imports, JSON API imports, and custom source/process/destination plugins.
- ▌ Drupal Paragraphs · edutrul bundleDrupal Paragraphs module — accessing paragraph entities, rendering, altering paragraph forms, and patterns for custom paragraph behavior.
- ▌ Drupal Search API · edutrul bundleSearch API — index configuration, boost processors, field types, number field boosting, engagement metrics, and reindexing workflows.
- ▌ Drupal Contrib Mgmt · edutrul bundleDrupal contrib module upgrade triage — Drupal.org issue queue research, local patch creation (git diff), composer-patches workflows, Drupal 11 compatibility via core_version_requirement, Drupal Lenient handling, and upgrade_status analysis. Not for generic Composer dependency management.
- ▌
- ▌ Drupal Dtt · edutrul bundleDrupal Test Traits (DTT) ExistingSite tests — testing against a live Drupal site, creating content, asserting pages, and running tests with DDEV.
- ▌ Ddev Expert · edutrul bundleDDEV local development expertise. Use when working with DDEV projects, containers, configuration, or troubleshooting DDEV environments.
- ▌ Drupal Htmx · edutrul bundleHTMX in Drupal 11.3+ core — the Htmx PHP fluent builder, dynamic forms with swapOob, partial routes with _htmx_route, response headers, and Drupal.behaviors integration. Use when building interactive UI without full-page reloads using Drupal's native HTMX support.
- ▌ Drupal Twig · edutrul bundleDrupal Twig templates — best practices, auto-escaping, translation, library attaching, debugging, and SDC components.
- ▌ Drupal Unit · edutrul bundleDrupal Unit tests with UnitTestCase — testing isolated PHP logic with no Drupal bootstrap, mocking dependencies.
- ▌ Docker Local · edutrul bundleCustom Docker Compose local development patterns. Use when working with Docker-based local environments, container configuration, or troubleshooting Docker setups.
- ▌ Drupal Drush · edutrul bundleDrush commands for Drupal — cache, config, module management, generators, field creation, and non-interactive scaffolding for AI-assisted development.
- ▌ Drupal Hooks · edutrul bundleDrupal 11 OOP and procedural hooks — hook_form_alter, hook_node_presave, hook_theme,
- ▌ Drupal Menus · edutrul bundleDrupal menus — links.menu.yml, links.task.yml, links.action.yml, contextual links, and programmatic menu manipulation.
- ▌ Drupal State · edutrul bundleDrupal State API — storing and retrieving runtime state that persists across requests but is not configuration.
- ▌ Drupal Access · edutrul bundleDrupal access control — permissions.yml, access callbacks, AccessResult, custom access checkers, and entity access.
- ▌ Drupal Config · edutrul bundleDrupal configuration management with Drush — import/export config, preview config changes before applying (e.g., seeing what would change without importing), config splits, and environment syncing.
- ▌ Drupal Events · edutrul bundleDrupal event subscribers — Symfony events (PSR-14), KernelEvents, services.yml tags, and hooks vs events decision guide.
- ▌ Drupal Fields · edutrul bundleDrupal fields — field types, widgets, formatters, drush field:create, field storage/config, and accessing single-value and multi-value field values in PHP code.
- ▌ Drupal Kernel · edutrul bundleDrupal Kernel tests with KernelTestBase — testing services, database operations, hooks, and entity operations with minimal Drupal bootstrap.
- ▌ Drupal Render · edutrul bundleDrupal render arrays — structure, cache metadata (tags, contexts, max-age), render elements, and markup safety.
- ▌ Drupal Routes · edutrul bundleDrupal routing — routing.yml, admin routes, settings form routes, controllers, route parameters, title callbacks, entity upcasting, permissions, and URL/link generation.
- ▌ Drupal Caching · edutrul bundleDrupal Cache API — cache tags, contexts, max-age, cache bins, invalidation, and adding cache metadata to render arrays.
- ▌ Drupal Plugins · edutrul bundleDrupal plugin system — Block, Field, Condition, Filter plugins with PHP attributes and ContainerFactoryPluginInterface.
- ▌ Drupal Queries · edutrul bundleDrupal database queries — Select, Insert, Update, Delete using the database abstraction layer. Never concatenate SQL.