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.

Drupal Environment - Live Technical Map

Purpose: Durable current architecture needed to continue Skyhawk.org work without rediscovery. Transient diagnostics and rapidly aging update availability are generated when needed rather than stored here.

Runtime and Platform

  • Drupal core: 11.4.5
  • PHP: 8.4.20
  • Drush:
  • Composer: Composer version 2.9.4 2026-01-22 14:08:50
  • Drupal document root: /home/darwus/drupalbeta/web
  • Database driver: mysql; server version: 11.4.11-MariaDB
  • Current Drupal DB-session isolation: REPEATABLE-READ
  • HTTP server header: server: LiteSpeed

Command-Line Access

  • Normal command-line work occurs interactively at the A2 prompt.
  • Canonical Pixel connection: ssh -p 22 darwus@65.181.120.151.
  • Do not invent or assume an SSH alias. Pixel file transfers use the same explicit host/user/port.
  • Normal work leaves the A2 session open. Exit/reconnect is reserved for required local downloads such as verified database backups.

Themes and Asset Delivery

  • Default theme: bootstrap_barrio
  • Admin theme: bootstrap_barrio
  • CSS aggregation: enabled; JS aggregation: enabled.
  • Aggregated browser filenames are delivery artifacts and are not authoritative evidence of source ownership.
Installed/enabled themes (2)
  • Bootstrap Barrio [bootstrap_barrio] | themes/contrib/bootstrap_barrio | DEFAULT, ADMIN
  • Claro [claro] | core/themes/claro

Canonical Skyhawk CSS / JS Ownership

  • Global Skyhawk CSS owner: modules/custom/skyhawk_site_fixes/css/skyhawk-global.css - present.
  • Site-specific integration belongs under modules/custom/skyhawk_site_fixes, not inside contributed projects.
  • Semantic visual vocabulary: skyhawk-focus, skyhawk-feature, skyhawk-context, skyhawk-note, skyhawk-reference, skyhawk-navy, skyhawk-marine, skyhawk-joint, skyhawk-heritage.
  • Bold colors are punctuation; muted colors are prose. Color is never the sole indicator of meaning.
  • LOST-D is the proving page for the semantic visual system.
Custom CSS / JS files (27)
  • modules/custom/skyhawk_site_fixes/backups/attach-managed-file-queue-20260825T215707Z-3404996/managed_file_queue.js
  • modules/custom/skyhawk_site_fixes/backups/core-handoff-20260825T194442Z-3404996/serial_managed_file_upload.js
  • modules/custom/skyhawk_site_fixes/backups/deployment-gate-reconcile-20260825T145100Z-2795997/upload_transition_observer.js
  • modules/custom/skyhawk_site_fixes/backups/fix-two-proven-defects-20260825T205540Z-3404996/upload_token_public.css
  • modules/custom/skyhawk_site_fixes/backups/live-observer-integration-20260825T145539Z-2795997/upload_transition_observer.js
  • modules/custom/skyhawk_site_fixes/backups/native-serial-cleanup-20260825T202106Z-3404996/serial_managed_file_upload.js
  • modules/custom/skyhawk_site_fixes/backups/observer-execution-proof-20260825T150130Z-2795997/upload_transition_observer.js
  • modules/custom/skyhawk_site_fixes/backups/observer-standalone-20260825T150751Z-2795997/upload_transition_observer.js
  • modules/custom/skyhawk_site_fixes/backups/pixel-picker-transition-20260825T151419Z-2795997/pixel_execution_probe.js
  • modules/custom/skyhawk_site_fixes/backups/remove-serializer-20260825T203611Z-3404996/serial_managed_file_upload.js
  • modules/custom/skyhawk_site_fixes/backups/remove-serializer-artifacts-20260825T203955Z-3404996/serial_managed_file_upload.js
  • modules/custom/skyhawk_site_fixes/backups/serial-three-trace-20260825T195352Z-3404996/serial_managed_file_upload.js
  • modules/custom/skyhawk_site_fixes/backups/trace-prereq-20260825T195657Z-3404996/serial_managed_file_upload.js
  • modules/custom/skyhawk_site_fixes/backups/universal-uploader-20260825T233305Z-3404996/managed_file_queue.js
  • modules/custom/skyhawk_site_fixes/backups/universal-uploader-20260825T234003Z/managed_file_queue.js
  • modules/custom/skyhawk_site_fixes/backups/upload-product-replacement-20260825T005953Z-2471164/upload_token_mobile_fix.js
  • modules/custom/skyhawk_site_fixes/backups/upload-product-replacement-20260825T013552Z-2471164/upload_token_mobile_fix.js
  • modules/custom/skyhawk_site_fixes/css/legacy.css
  • modules/custom/skyhawk_site_fixes/css/model-build.css
  • modules/custom/skyhawk_site_fixes/css/modeling-review.css
  • modules/custom/skyhawk_site_fixes/css/skyhawk-global.css
  • modules/custom/skyhawk_site_fixes/css/squadron.css
  • modules/custom/skyhawk_site_fixes/css/upload_token_public.css
  • modules/custom/skyhawk_site_fixes/js/gabby-unit-autocomplete.js
  • modules/custom/skyhawk_site_fixes/js/pixel_execution_probe.js
  • modules/custom/skyhawk_site_fixes/js/squadron.js
  • modules/custom/skyhawk_site_fixes/js/upload_transition_observer.js

Enabled Drupal Modules

Descriptions below come from the installed extension metadata. Current update availability is intentionally not stored here; query Composer/Drupal live.

Enabled modules (99)
  • Actions Permissions [actions_permissions] | Views Bulk Operations | Adds access permissions on all actions allowing admins to restrict access on a per-role basis.
  • Automated Cron [automated_cron] | Core | Provides an automated way to run cron jobs, by executing them at the end of a server response.
  • Automatic Entity Labels [auto_entitylabel] | Entity | Allows hiding of entity label fields and automatic label creation.
  • Ban [ban] | Core | Allows banning visits from specific IP addresses.
  • BigPipe [big_pipe] | Core | Sends pages using the BigPipe technique that allows browsers to show them much faster.
  • Block Content [block_content] | Core | Allows the creation of content blocks and block types.
  • Block [block] | Core | Allows users to configure blocks (containing content, forms, etc.) and to place them in the regions of a theme.
  • Breakpoint [breakpoint] | Core | Manages breakpoints and breakpoint groups for responsive designs.
  • Chaos Tools [ctools] | Chaos tool suite | Provides a number of utility and helper APIs for Drupal developers and site builders.
  • CKEditor5 Table Fix [ckeditor5_table_fix] | CKEditor 5 | Adds support for tables in CKEditor5, including and other elements.
  • CKEditor 5 [ckeditor5] | Core | Provides the CKEditor 5 rich text editor.
  • Configuration Manager [config] | Core | Allows importing and exporting configuration changes.
  • Contact storage [contact_storage] | Other | Provides storage and edit capability for contact messages.
  • Contact [contact] | Core | Provides site-wide contact forms and forms to contact individual users.
  • Content Moderation [content_moderation] | Core | Provides additional publication states that can be used by other modules to moderate content.
  • Contextual Links [contextual] | Core | Provides contextual links to directly access tasks related to page elements.
  • CSV Importer [csv_importer] | CSV | Import content from CSV.
  • Custom Menu Links [menu_link_content] | Core | Allows users to create menu links.
  • Database Logging [dblog] | Core | Logs system events in the database.
  • Datetime Range [datetime_range] | Field types | Provides the ability to store end dates.
  • Datetime [datetime] | Field types | Defines field types for storing dates and times.
  • Devel [devel] | Development | Various blocks, pages, and functions for developers.
  • DropzoneJS entity browser widget [dropzonejs_eb_widget] | Media | DropzoneJS Entity browser widget.
  • dropzonejs [dropzonejs] | Media | The Drupal integration for DropzoneJS.
  • Embed [embed] | Filters | Provides a framework for different types of embeds in text editors.
  • Entity Browser Block [entity_browser_block] | Media | Derives block plugins for every Entity Browser on your site
  • Entity Browser [entity_browser] | Media | Provide a generic entity browser/picker/selector.
  • Entity Embed [entity_embed] | Filters | Allows entities to be embedded using a text editor.
  • Entity Mask [ctools_entity_mask] | Other | Allows an entity type to borrow the fields and display configuration of another entity type.
  • Entity [entity] | Other | Provides expanded entity APIs, which will be moved to Drupal core one day.
  • Feeds [feeds] | Feeds | Aggregates RSS/Atom/RDF feeds, imports CSV files and more.
  • Field UI [field_ui] | Core | Provides a user interface for the Field module.
  • Field [field] | Core | Provides the capabilities to add fields to entities.
  • File Download Link Media [file_download_link_media] | Field | Adds field formatter to render Media reference fields as download link very directly.
  • File Download Link [file_download_link] | Field | Adds field formatter to render file field as configurable download link.
  • File metadata - EXIF [file_mdm_exif] | File metadata | Provides a file metadata plugin for EXIF image information.
  • File metadata - Font [file_mdm_font] | File metadata | Provides a file metadata plugin for TTF/OTF/WOFF font information.
  • File metadata manager [file_mdm] | File metadata | Provides a service to manage file metadata.
  • File [file] | Field types | Provides a field type for files and defines a "managed_file" Form API element.
  • Filter [filter] | Core | Filters text content in preparation for display.
  • Image Effects [image_effects] | Media | Provides effects and operations for the Image API.
  • Image [image] | Field types | Defines a field type for image media and provides display configuration tools.
  • Inline Entity Form [inline_entity_form] | Fields | Provides a widget for inline management (creation, modification, removal) of referenced entities.
  • Inline Form Errors [inline_form_errors] | Core | Places error messages adjacent to form inputs, for improved usability and accessibility.
  • Internal Dynamic Page Cache [dynamic_page_cache] | Core | Caches pages, including those with dynamic content, for all users.
  • Internal Page Cache [page_cache] | Core | Caches pages for anonymous users and can be used when external page cache is not available.
  • Layout Builder Expose All Field Blocks [layout_builder_expose_all_field_blocks] | Core | When enabled, this module exposes all fields for all entity view displays. When disabled, only entity type bundles that have layout builder enabled will have their fields exposed. Enabling this module could significantly decrease performance on sites with a large number of entity types and bundles.
  • Layout Builder Restrictions [layout_builder_restrictions] | Layout Builder | Manage which fields & layouts are available in Layout Builder
  • Layout Builder Styles [layout_builder_styles] | Layout Builder | Apply styles to blocks in Layout Builder.
  • Layout Builder [layout_builder] | Core | Allows users to add and arrange blocks and content fields directly on the content.
  • Layout Discovery [layout_discovery] | Core | Provides a way for modules or themes to register layouts.
  • Libraries [libraries] | Other | Allows version-dependent and shared usage of external libraries.
  • Link [link] | Field types | Provides a field type for internal and external URLs.
  • Media Library [media_library] | Core | Enhances the media list with additional features to more easily find and use existing media items.
  • Media [media] | Core | Manages the creation, configuration, and display of media items.
  • Menu UI [menu_ui] | Core | Provides a user interface for managing menus.
  • MySQL [mysql] | Core | Provides the MySQL database driver.
  • Node [node] | Core | Manages the creation, configuration, and display of the main site content.
  • Options [options] | Field types | Defines field types with select lists, checkboxes, and radio buttons to select values from fixed lists of options.
  • Password Compatibility [phpass] | Core | Provides the password checking algorithm for user accounts created with Drupal prior to version 10.1.0.
  • Path alias [path_alias] | Core | Provides the API allowing to rename URLs.
  • Pathauto [pathauto] | Other | Provides a mechanism for modules to automatically generate aliases for the content they manage.
  • Path [path] | Core | Allows users to create custom URLs for existing paths on the site.
  • Redirect [redirect] | Other | Allows users to redirect from old URLs to new URLs.
  • RESTful Web Services [rest] | Web services | Provides a framework for exposing REST resources.
  • Search node [search_node] | Core | Provides a search plugin for searching content.
  • Search [search] | Core | Allows users to create search pages based on plugins provided by other modules.
  • Serialization (CSV) [csv_serialization] | Web services | Provides CSV as a serialization format.
  • Serialization [serialization] | Web services | Provides a service for converting data to and from formats such as JSON and XML.
  • Serial [serial] | Field types | Defines atomic auto increment (serial) field type.
  • Simplenews [simplenews] | Mail | Send newsletters to subscribed email addresses. For uninstall go to Configuration > Web services > Simplenews > Settings and hit "Prepare uninstall".
  • Simple XML Sitemap [simple_sitemap] | SEO | Generates standard-compliant hreflang XML sitemaps to enhance your site's SEO, notifies search engines of website changes via IndexNow and sitemap ping protocols, and provides a framework for developing other sitemap types.
  • Skyhawk Gallery [skyhawk_gallery] | Custom | Renders dir_listing nodes as filesystem image galleries.
  • Skyhawk Site Fixes [skyhawk_site_fixes] | Custom | Site-specific CSS fixes for Skyhawk Drupal 10.
  • Sophron [sophron] | Other | Provides an extensive MIME types management API.
  • Standard [standard] | Other | Install with commonly used features pre-configured.
  • Syslog [syslog] | Core | Logs events to the web server's system log.
  • System [system] | Core | Provides user interfaces for core systems.
  • Taxonomy [taxonomy] | Core | Enables the categorization of content.
  • Telephone [telephone] | Field types | Defines a field type for telephone numbers.
  • Text Editor [editor] | Core | Provides a framework to associate text editors (like WYSIWYGs) and toolbars with text formats.
  • Text [text] | Field types | Defines field types for short and long text with optional summaries.
  • Token Filter [token_filter] | Other | Allows token values to be used as filters.
  • Token [token] | Other | Provides a user interface for the Token API and some missing core tokens.
  • Toolbar [toolbar] | Core | Provides an administration toolbar to display links provided by modules.
  • Typed Data [typed_data] | Other | Extends the core Typed Data API with new APIs and features.
  • Update Status [update] | Core | Checks for updates and can notify users if there are new releases available.
  • User [user] | Core | Allows users to register and log in, and manages user roles and permissions.
  • Video Embed Field [video_embed_field] | Video Embed Field | Provides a field type for displaying videos from 3rd party providers such as YouTube and Vimeo.
  • Views Bootstrap 5 [views_bootstrap] | Views | Allows for different styles to be used in views to work with Bootstrap 5 components.
  • Views Bulk Operations [views_bulk_operations] | Views | Adds an ability to perform bulk operations on selected entities from view results.
  • Views Data Export [views_data_export] | Views | Plugin to export views data into various file formats.
  • Views Infinite Scroll [views_infinite_scroll] | Views | A pager which allows an infinite scroll effect for views.
  • Views UI [views_ui] | Core | Provides a user interface for creating and managing views.
  • Views [views] | Core | Provides a framework to fetch information from the database and to display it in different formats.
  • Webform UI [webform_ui] | Webform | Provides a user interface for building and maintaining webforms.
  • Webform [webform] | Webform | Enables the creation of webforms and questionnaires.
  • Workflows [workflows] | Core | Provides an interface to create workflows with transitions between different states (for example publication or user status) provided by other modules.
  • YP Memorial [yp_memorial] | Custom | Displays YP memorial memories from Webform submissions.

Custom Modules and Purpose

  • Skyhawk Gallery [skyhawk_gallery] - Renders dir_listing nodes as filesystem image galleries. - modules/custom/skyhawk_gallery
  • Skyhawk Site Fixes [skyhawk_site_fixes] - Site-specific CSS fixes for Skyhawk Drupal 10. - modules/custom/skyhawk_site_fixes
  • YP Memorial [yp_memorial] - Displays YP memorial memories from Webform submissions. - modules/custom/yp_memorial
Custom architecture files (57)
  • modules/custom/skyhawk_gallery/skyhawk_gallery.info.yml
  • modules/custom/skyhawk_gallery/skyhawk_gallery.module
  • modules/custom/skyhawk_gallery/skyhawk_gallery.permissions.yml
  • modules/custom/skyhawk_gallery/skyhawk_gallery.routing.yml
  • modules/custom/skyhawk_gallery/skyhawk_gallery.services.yml
  • modules/custom/skyhawk_site_fixes/backups/attach-managed-file-queue-20260825T215707Z-3404996/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/backups/core-handoff-20260825T194442Z-3404996/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/backups/core-managed-file-control-20260825T165546Z-3404996/skyhawk_site_fixes.routing.yml
  • modules/custom/skyhawk_site_fixes/backups/deployment-gate-20260825T144330Z-2795997/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/backups/deployment-gate-20260825T144330Z-2795997/skyhawk_site_fixes.routing.yml
  • modules/custom/skyhawk_site_fixes/backups/deployment-gate-reconcile-20260825T145100Z-2795997/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/backups/deployment-gate-reconcile-20260825T145100Z-2795997/skyhawk_site_fixes.routing.yml
  • modules/custom/skyhawk_site_fixes/backups/fix-two-proven-defects-20260825T205540Z-3404996/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/backups/generic-uploader-reconcile-20260826T012923Z-1245077/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/backups/live-observer-integration-20260825T145539Z-2795997/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/backups/live-observer-integration-20260825T145539Z-2795997/skyhawk_site_fixes.routing.yml
  • modules/custom/skyhawk_site_fixes/backups/managed-file-queue-20260825T215118Z-3404996/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/backups/managed-file-server-trace-20260825T210301Z-3404996/skyhawk_site_fixes.module
  • modules/custom/skyhawk_site_fixes/backups/multipart-ingress-20260825T182043Z-3404996/skyhawk_site_fixes.routing.yml
  • modules/custom/skyhawk_site_fixes/backups/native-serial-cleanup-20260825T202106Z-3404996/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/backups/native-serial-cleanup-20260825T202106Z-3404996/skyhawk_site_fixes.routing.yml
  • modules/custom/skyhawk_site_fixes/backups/observer-execution-proof-20260825T150130Z-2795997/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/backups/observer-execution-proof-20260825T150130Z-2795997/skyhawk_site_fixes.routing.yml
  • modules/custom/skyhawk_site_fixes/backups/observer-standalone-20260825T150751Z-2795997/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/backups/pixel-direct-probe-20260825T151003Z-2795997/skyhawk_site_fixes.routing.yml
  • modules/custom/skyhawk_site_fixes/backups/pixel-observer-20260825T140951Z-2676184/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/backups/pixel-observer-20260825T140951Z-2676184/skyhawk_site_fixes.routing.yml
  • modules/custom/skyhawk_site_fixes/backups/pixel-picker-transition-20260825T151419Z-2795997/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/backups/public-upload-inline-status-20260826T023619Z-1245077/skyhawk_site_fixes.routing.yml
  • modules/custom/skyhawk_site_fixes/backups/public-upload-three-failures-20260826T030142Z-1245077/skyhawk_site_fixes.routing.yml
  • modules/custom/skyhawk_site_fixes/backups/public-upload-ux-owner-fix-20260826T025756Z-1245077/skyhawk_site_fixes.routing.yml
  • modules/custom/skyhawk_site_fixes/backups/remove-serializer-20260825T203611Z-3404996/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/backups/remove-serializer-artifacts-20260825T203955Z-3404996/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/backups/request-size-probe-20260825T181121Z-3404996/skyhawk_site_fixes.routing.yml
  • modules/custom/skyhawk_site_fixes/backups/rollback-ingress-observer-20260825T212918Z-3404996/skyhawk_site_fixes.services.yml
  • modules/custom/skyhawk_site_fixes/backups/runtime-route-rebuild-20260825T145745Z-2795997/skyhawk_site_fixes.routing.yml
  • modules/custom/skyhawk_site_fixes/backups/serial-managed-file-20260825T184306Z-3404996/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/backups/serial-three-trace-20260825T195352Z-3404996/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/backups/trace-discovery-fix-20260825T195928Z-3404996/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/backups/trace-discovery-fix-20260825T195928Z-3404996/skyhawk_site_fixes.routing.yml
  • modules/custom/skyhawk_site_fixes/backups/trace-prereq-20260825T195657Z-3404996/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/backups/trace-prereq-20260825T195657Z-3404996/skyhawk_site_fixes.routing.yml
  • modules/custom/skyhawk_site_fixes/backups/universal-uploader-20260825T233305Z-3404996/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/backups/universal-uploader-20260825T234003Z/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/backups/upload-product-replacement-20260825T005953Z-2471164/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/backups/upload-product-replacement-20260825T005953Z-2471164/skyhawk_site_fixes.module
  • modules/custom/skyhawk_site_fixes/backups/upload-product-replacement-20260825T005953Z-2471164/skyhawk_site_fixes.routing.yml
  • modules/custom/skyhawk_site_fixes/backups/upload-product-replacement-20260825T013552Z-2471164/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/backups/upload-product-replacement-20260825T013552Z-2471164/skyhawk_site_fixes.module
  • modules/custom/skyhawk_site_fixes/backups/upload-product-replacement-20260825T013552Z-2471164/skyhawk_site_fixes.routing.yml
  • modules/custom/skyhawk_site_fixes/skyhawk_site_fixes.info.yml
  • modules/custom/skyhawk_site_fixes/skyhawk_site_fixes.libraries.yml
  • modules/custom/skyhawk_site_fixes/skyhawk_site_fixes.module
  • modules/custom/skyhawk_site_fixes/skyhawk_site_fixes.routing.yml
  • modules/custom/skyhawk_site_fixes/skyhawk_site_fixes.services.yml
  • modules/custom/yp_memorial/yp_memorial.info.yml
  • modules/custom/yp_memorial/yp_memorial.routing.yml
Custom routes (14)
  • skyhawk_gallery.photo_contribute | modules/custom/skyhawk_gallery/skyhawk_gallery.routing.yml
  • skyhawk_gallery.photo_review | modules/custom/skyhawk_gallery/skyhawk_gallery.routing.yml
  • skyhawk_gallery.unknowns | modules/custom/skyhawk_gallery/skyhawk_gallery.routing.yml
  • skyhawk_site_fixes.journal_upload | modules/custom/skyhawk_site_fixes/skyhawk_site_fixes.routing.yml
  • skyhawk_site_fixes.managed_file_core_control | modules/custom/skyhawk_site_fixes/skyhawk_site_fixes.routing.yml
  • skyhawk_site_fixes.reunion_manage | modules/custom/skyhawk_site_fixes/skyhawk_site_fixes.routing.yml
  • skyhawk_site_fixes.reunion_token_admin | modules/custom/skyhawk_site_fixes/skyhawk_site_fixes.routing.yml
  • skyhawk_site_fixes.reunion_upload | modules/custom/skyhawk_site_fixes/skyhawk_site_fixes.routing.yml
  • skyhawk_site_fixes.reunion_verify | modules/custom/skyhawk_site_fixes/skyhawk_site_fixes.routing.yml
  • skyhawk_site_fixes.system_status | modules/custom/skyhawk_site_fixes/skyhawk_site_fixes.routing.yml
  • skyhawk_site_fixes.upload_token_admin | modules/custom/skyhawk_site_fixes/skyhawk_site_fixes.routing.yml
  • skyhawk_site_fixes.upload_token_view | modules/custom/skyhawk_site_fixes/skyhawk_site_fixes.routing.yml
  • skyhawk_site_fixes.upload_transition_observation | modules/custom/skyhawk_site_fixes/skyhawk_site_fixes.routing.yml
  • yp_memorial.memories | modules/custom/yp_memorial/yp_memorial.routing.yml
Custom services (0)
    Custom libraries (8)
    • skyhawk_site_fixes/gabby_unit_autocomplete | modules/custom/skyhawk_site_fixes/skyhawk_site_fixes.libraries.yml
    • skyhawk_site_fixes/global | modules/custom/skyhawk_site_fixes/skyhawk_site_fixes.libraries.yml
    • skyhawk_site_fixes/legacy | modules/custom/skyhawk_site_fixes/skyhawk_site_fixes.libraries.yml
    • skyhawk_site_fixes/model_build | modules/custom/skyhawk_site_fixes/skyhawk_site_fixes.libraries.yml
    • skyhawk_site_fixes/modeling_review | modules/custom/skyhawk_site_fixes/skyhawk_site_fixes.libraries.yml
    • skyhawk_site_fixes/squadron | modules/custom/skyhawk_site_fixes/skyhawk_site_fixes.libraries.yml
    • skyhawk_site_fixes/upload_token_public | modules/custom/skyhawk_site_fixes/skyhawk_site_fixes.libraries.yml
    • skyhawk_site_fixes/upload_transition_observer | modules/custom/skyhawk_site_fixes/skyhawk_site_fixes.libraries.yml

    Content Architecture

    Node content types (26)
    • 155242-155289 [155242_155289]
    • Article [article]
    • Article-Board [article_board]
    • Article-Journal-Private [article_journal_private]
    • Article-Journal-Public [article_journal_public]
    • article-modeling [article_modeling]
    • article-readyroom [article_readyroom]
    • article-unit [article_unit]
    • Attendee Memory [attendee_memory]
    • Book page [book]
    • BuNo Purchase Batch [buno_batch]
    • Bureau Numbers [bureau_numbers]
    • Directory listing [dir_listing]
    • Gabby's Histories [gabby_s_histories]
    • Journal [journal]
    • Journal Index [journal_index]
    • Model Build [model_build]
    • Modeling Review Page [modeling_review_page]
    • Newsletter Issue [newsletter_issue]
    • Basic page [page]
    • PDF [pdf]
    • Reunion Event [reunion_event]
    • Newsletter Issue [simplenews_issue]
    • Skyhawk Association Journal Index [skyhawk_association_journal_inde]
    • Song [song]
    • State Abbreviations [state_abbreviations]
    Node fields by bundle (92)
    • 155242_155289 | body | text_with_summary | Body
    • 155242_155289 | feeds_item | feeds_item | Feeds item
    • 155242_155289 | field_buno_image | image | Buno Image
    • article_board | body | text_with_summary | Body
    • article_journal_private | body | text_with_summary | Body
    • article_journal_public | body | text_with_summary | Body
    • article_modeling | body | text_with_summary | Body
    • article_readyroom | body | text_with_summary | Body
    • article_unit | body | text_with_summary | Body
    • article | body | text_with_summary | Body
    • attendee_memory | field_attendee_name | string | Your Name
    • attendee_memory | field_memory_photo | image | Photo
    • attendee_memory | field_memory_story | text_long | Memory
    • book | body | text_with_summary | Body
    • buno_batch | field_batch_end | integer | field_batch_end
    • buno_batch | field_batch_start | integer | field_batch_start
    • buno_batch | field_batch_variant | string | field_batch_variant
    • bureau_numbers | body | text_with_summary | Body
    • bureau_numbers | field_bureau_number | list_integer | Bureau Number
    • dir_listing | body | text_with_summary | Body
    • dir_listing | field_directory_uri | string | Directory URI
    • gabby_s_histories | body | text_with_summary | Body
    • gabby_s_histories | feeds_item | feeds_item | Feeds item
    • gabby_s_histories | field_buno | string | BUNO
    • gabby_s_histories | field_count | serial | Count
    • gabby_s_histories | field_custodian | string | Custodian
    • gabby_s_histories | field_date | datetime | Date
    • gabby_s_histories | field_description | string | Description
    • gabby_s_histories | field_location | string | Location
    • gabby_s_histories | field_manufacturer_serial_number | integer | Manufacturer Serial Number
    • gabby_s_histories | field_model | string | Model
    • gabby_s_histories | field_notes | string | Notes
    • gabby_s_histories | field_record | integer | Record
    • journal_index | field_journal_index | list_string | Journal Index
    • journal | body | text_with_summary | Body
    • journal | field_journal_issue | integer | Issue
    • journal | field_journal_is_print | boolean | Print-Friendly Version
    • journal | field_journal_label | string | Season Label
    • journal | field_journal_thumbnail | image | Cover Thumbnail
    • journal | field_journal_volume | integer | Volume
    • journal | field_journal_year | integer | Year
    • journal | field_pdf_print | file | Spreads PDF
    • journal | field_pdf | file | PDF
    • modeling_review_page | body | text_with_summary | Review Content
    • model_build | body | text_with_summary | Description / Build Notes
    • model_build | field_aircraft_variant | string | Aircraft Variant
    • model_build | field_bureau_number | list_integer | BuNo / Serial Number
    • model_build | field_carrier | string | Carrier
    • model_build | field_kit_manufacturer | string | Kit Manufacturer
    • model_build | field_model_builder | string | Builder
    • model_build | field_model_event_year | string | Event / Year
    • model_build | field_model_images | image | Model Photographs
    • model_build | field_model_scale | string | Scale
    • model_build | field_squadron_operator | string | Squadron / Operator
    • newsletter_issue | field_issue_date | datetime | Issue Date
    • newsletter_issue | field_issue_pdf | file | Newsletter PDF
    • page | body | text_with_summary | Body
    • pdf | body | text_with_summary | Body
    • pdf | field_journal_index | list_string | Journal Index
    • pdf | field_journal_pdf | file | Journal PDF
    • pdf | field_pdf_thumbnail | entity_reference | PDF Thumbnail
    • pdf | layout_builder__layout | layout_section | Layout
    • reunion_event | body | text_with_summary | Body
    • reunion_event | field_event_date | datetime | Event Date
    • reunion_event | field_event_location | string | Location
    • reunion_event | field_hotel_link | link | Hotel Booking Link
    • reunion_event | field_lost_comm | text_long | Lost Comm List
    • reunion_event | field_manage_token | string | Management Token
    • reunion_event | field_organizer_email | email | Organizer Email
    • reunion_event | field_registration_link | link | Registration Link
    • reunion_event | field_reunion_newsletter | file | Newsletter PDF
    • reunion_event | field_taps | text_long | Taps
    • reunion_event | field_verify_expiry | integer | Verification Expiry
    • reunion_event | field_verify_token | string | Verification Token
    • simplenews_issue | body | text_with_summary | Body
    • simplenews_issue | simplenews_issue | simplenews_issue | Newsletter
    • skyhawk_association_journal_inde | body | text_with_summary | Body
    • skyhawk_association_journal_inde | field_article | string | Article
    • skyhawk_association_journal_inde | field_author_last_name | string | Author Last Name
    • skyhawk_association_journal_inde | field_category | list_string | Category
    • skyhawk_association_journal_inde | field_first_name | string | First Name
    • skyhawk_association_journal_inde | field_issue | list_string | Issue
    • skyhawk_association_journal_inde | field_journal_number | list_float | Journal Number
    • skyhawk_association_journal_inde | field_page | integer | Page
    • skyhawk_association_journal_inde | field_pdf_access | link | PDF Access
    • skyhawk_association_journal_inde | field_record | integer | Record
    • skyhawk_association_journal_inde | field_year | list_integer | Year
    • song | body | text_with_summary | Lyrics
    • song | field_song_audio | entity_reference | Audio
    • song | field_song_byline | string | Byline
    • state_abbreviations | body | text_with_summary | Body
    • state_abbreviations | field_two_letter_state_id_s | list_string | Two Letter State ID's
    Taxonomy vocabularies (1)
    • Skyhawk Units [skyhawk_units]
    Enabled Views and exposed paths (30)
    • BuNo Search [buno_search] | /buno-search
    • Bureau Number 159778-159790 [bureau_number_159778_159790] | /bureau-number-159778-159790
    • Contact messages [contact_messages] | /admin/structure/contact/messages
    • Content [content] | /admin/content/node, /admin/content/node/edit
    • Drupal 10 Gabby's Histories [drupal_10_gabby_s_histories] | /gabby-s-histories, /gabby-s-histories/rest
    • Duplicate of People [duplicate_of_people] | /admin/people/list
    • Files [files] | /admin/content/files, /admin/content/files/usage/%
    • Gabby's Histories [gabby_s_histories] | /gabby-s-histories, /gabby-s-histories/rest
    • Glossary [glossary] | /site-glossary
    • Journal Grid [journal_grid] | /journals
    • Mailing Lists [mailing_lists] | /mailing-lists
    • Media library [media_library] | /admin/content/media-grid, /admin/content/media-widget, /admin/content/media-widget-table
    • Media [media] | /admin/content/media
    • Modeling Builds [modeling_builds_review] | /modeling/builds
    • Moderated content [moderated_content] | /admin/content/moderated
    • Newsletter issues [simplenews_newsletters] | /admin/content/simplenews
    • PDF Image Entity [pdf_image_entity] | /admin/media-pdf-thumbnail/settings/list
    • People [user_admin_people] | /admin/people/list
    • Public Skyhawk Journal Index [public_skyhawk_journal_index] | /download/views, /skyhawk-public-journal-index, /skyhawk-public-journal-index-page2
    • Redirect [redirect] | /admin/config/search/redirect
    • Reunion Index [reunion_index] | /reunion
    • SA Journal Grid [sa_journal_grid] | /sa-journal
    • SDO Directory Review [sdo_directory_review] | /admin/people/sdo-directory-review
    • SDO User Email Reference [sdo_user_email_reference]
    • Skyhawk Journal Index [skyhawk_journal_index] | /skyhawk-journal-index
    • Skyhawk Songs [skyhawk_songs] | /skyhawk-songs
    • Skyhawk Videos [skyhawk_videos]
    • Subscribers [simplenews_subscribers] | /admin/people/simplenews
    • Watchdog [watchdog] | /admin/reports/dblog
    • Webform submissions [webform_submissions]
    Image styles (12)
    • full960 [full960]
    • Journal Cover (480px no watermark) [journal_cover]
    • Journal Thumb (160px no watermark) [journal_thumb]
    • Media Library thumbnail (220×220) [media_library]
    • onehalf480 [onehalf480]
    • onethird320 [onethird320]
    • skyhawk_gallery_large [skyhawk_gallery_large]
    • skyhawk_gallery_thumb [skyhawk_gallery_thumb]
    • thumbnail192 [thumbnail192]
    • thumbnail [thumbnail]
    • twothirds640 [twothirds640]
    • Watermark [watermark]

    Storage and Configuration

    • Public files: sites/default/files
    • Private files: /home/darwus/drupalbeta/web/private
    • Temporary files: /tmp
    • Configuration sync: sites/default/files/config_Ubo9gqxEHpoMEZNKbhJkVBUc9sN2NnzSV17M10F5hE7w77uws5OFNHtqnAAjUCO9dChbQn6-2A/sync
    • Maintenance/debug reports: web/downloads/chatgpt-debug*.txt. These are operational artifacts, not architecture.

    Composer and Reconstruction

    • composer.json: present.
    • composer.lock: present.
    • Composer-managed code and the lock file define reconstructable Drupal/core/contrib dependencies.
    • Do not store rapidly aging latest-version or update-availability lists here. Generate them with Composer when maintenance begins.
    • Do not patch Drupal core or contributed projects for permanent Skyhawk customization.

    Backup Architecture

    • A2 maintenance database-backup directory: /home/darwus/skyhawk_backups - present.
    • Before destructive or material database work, create a full A2 database backup, download it to the local machine being used, compare SHA-256 hashes, and require an exact match before mutation.
    • After successful local SHA verification, temporary/superseded A2 database backups are removed; the verified local copy is the rollback copy for that maintenance operation.
    • Normal database/files backups remain separate from future Git version control.

    Journal Index Architecture

    • The Drupal-native journal_index content type and Drupal Views are authoritative.
    • The obsolete standalone raw SQL journal_index import table is retired / absent.
    • Historical Raven CSV: /home/darwus/drupalbeta/journal_index_work/raven_journal_index_534.csv - present.
    • Do not recreate the retired standalone SQL table without a new proven requirement.

    Generated on Demand - Do Not Maintain as Prose

    • Composer/Drupal update availability.
    • Current cache state and temporary diagnostics.
    • Disk usage and transient file counts.
    • Current log entries, warnings, token activity, request traces, and temporary report filenames/hashes.

    Architecture Rules That Prevent Rediscovery

    • Let Drupal be Drupal: prefer core, established contrib, fields, taxonomy, Views, Webform, revisions, permissions, services, configuration and themes before custom mechanisms.
    • KISS governs architecture and collaboration.
    • Know and replace in toto rather than layering conflicting CSS/configuration.
    • Preserve completed decisions unless new evidence or explicit direction requires reopening them.
    • Use LOST-D for unfinished work and NEXT; use this reference for durable technical truth.

    Last live reconciliation: 2026-08-28 17:05:12 UTC.