Skip to main content

Drupal Environment Reference

Drupal Environment Reference

Directory / Build

  • Real docroot: /home/darwus/drupalbeta/web (NOT /home/darwus/public_html/drupalbeta or any variant)
  • Drupal version: 11.4.5
  • PHP version: 8.4.20 (binary: /opt/alt/php84/usr/bin/php)
  • Database: darwus_beta (MySQL/MariaDB)
  • Public files: sites/default/files
  • Private files: /home/darwus/drupalbeta/web/private
  • Custom modules directory: web/modules/custom/
  • Real error log: /home/darwus/drupalbeta/web/error_log (there are other error_log files on this account belonging to unrelated sites — e.g. drupaltest.emconalfa.net — do not trust a log without confirming which site it belongs to)

Custom Modules

  • skyhawk_site_fixes — primary site-specific integration module. Contains the upload token system, mail hooks, reunion system, journal upload, PageMessageTrait.
  • skyhawk_gallery — renders dir_listing nodes as filesystem image galleries. Contains PhotoContributionForm.php — the established working pattern for managed_file uploads on this site. Still uses Drupal messenger() popups (not yet converted to PageMessageTrait) — do not copy that part of the pattern.
  • yp_memorial — displays YP memorial memories from Webform submissions.
  • skyhawk_sdo_contact.zip, skyhawk_sdo_contact_patch.zip, skyhawk_sdo_router.zip — present on disk, not extracted/audited. See /blade/sdo-system-status.

Key Contrib Modules Installed (partial list, direct deps)

  • drupal/dropzonejs — installed and enabled, but confirmed unused anywhere in custom code or config as of 2026-08-24. Do not assume it's wired into anything.
  • drupal/webform, drupal/pathauto, drupal/token, drupal/redirect, drupal/simple_sitemap, drupal/simplenews
  • drupal/entity_browser, drupal/entity_browser_block, drupal/entity_embed, drupal/embed
  • drupal/views_bootstrap, drupal/views_bulk_operations, drupal/views_data_export, drupal/views_infinite_scroll
  • drupal/ctools, drupal/devel, drupal/upgrade_status
  • drupal/csv_importer, drupal/csv_serialization
  • drupal/image_effects, drupal/file_mdm, drupal/sophron
  • drupal/layout_builder_restrictions, drupal/layout_builder_styles

Established Patterns to Reuse

  • File upload: Drupal's native managed_file form element with #multiple => TRUE, #upload_location, #upload_validators — see skyhawk_gallery/PhotoContributionForm.php and skyhawk_site_fixes/UploadTokenForm.php.
  • Inline one-shot messages (no Drupal messenger popup): skyhawk_site_fixes/src/Traits/PageMessageTrait.php.
  • Email sending: hook_mail() in skyhawk_site_fixes.module, dispatched via \Drupal::service('plugin.manager.mail')->mail().
  • Per-request/token-gated routes: always call \Drupal::service('page_cache_kill_switch')->trigger() to prevent Drupal's page cache (default max-age 3600) from serving stale state.

A2 Command-Line Access

  • Host: 65.181.120.151; user: darwus; SSH port: 22.
  • Pixel connection: ssh -p 22 darwus@65.181.120.151.
  • Normal command-line work occurs interactively at the A2 prompt. Pixel-to-A2 non-interactive SSH is not the normal Drupal/Drush execution method.
  • Backup-download exception and Pixel operational details are maintained in Termux Notes. Database backup policy remains governed by the Rules.

Journal Index Architecture

  • The Drupal-native journal_index content type and its Drupal Views are the authoritative live Journal Index architecture.
  • The former standalone raw SQL table journal_index was a legacy Raven/import artifact and was retired on 2026-08-27 after live-use auditing.
  • raven_journal_index_534.csv is retained as the historical Raven source data.
  • Do not recreate the standalone raw journal_index SQL table unless a future proven requirement specifically requires it.