North Star
Modernize incrementally. Design globally. Preserve history.
Skyhawk.org will not be rewritten merely because portions of the existing HTML are old. Modernization effort concentrates where it improves usability, maintainability, privacy, contribution workflows, or long-term reliability.
Guiding Principles
- Drupal owns the content — entities, fields, taxonomy, Views, Webforms, configuration.
- Custom code is minimized in favor of Drupal core/contributed functionality.
- Skyhawk-specific code lives outside contributed projects, in skyhawk_site_fixes.
- One canonical global CSS source: web/modules/custom/skyhawk_site_fixes/css/skyhawk-global.css.
- Legacy content gets compatibility, not punishment.
- Modern content uses reusable patterns.
- Privacy by design — no exposed personal contact info where routing can replace it.
- Human workload matters — SDOs, editors, contributors should enter only what the system can't determine automatically.
- Back up before mutation; one controlled change at a time.
Current Architecture Decisions
Theme
Live site uses Bootstrap Barrio. The abandoned skyhawk_barrio project is retired from the live tree and configuration.
Contact and Privacy
Public contact workflow uses Drupal Webform. Contact-form notification routing remains in controlled test mode while SDO assignments are reviewed — see /blade/sdo-system-status.
Modernization Classes
Class 1: Modern/Native Drupal (46,642 nodes). Class 2: Legacy but Harmless (89). Class 3: Legacy Layout-Dependent (48). Class 4: Modernization Candidate (216). Full census from 2026-08-16 site-wide scan of 46,995 total nodes.
Reusable Page Families
- Squadron/unit pages — see /blade/vma-131-214-squadron-template
- Memorial and remembrance content
- Journal presentation
- Aircraft/BuNo galleries
- Research and data-heavy Views
- Reunion content
- Association information and administration
Canonical CSS Findings
skyhawk-global.css: 1,143 lines / 29,304 bytes, 328 !important declarations. Broad non-frontpage body-field horizontal scrolling detected and scheduled for architectural review.
Current Working Phase
Phase: reusable squadron-page rollout. See /blade/vma-131-214-squadron-template for the full squadron architecture, regression nodes, and VMA-214 handoff status.
What We Are Trying to Avoid
- Customizations hidden inside contributed themes
- Multiple competing global stylesheets
- Page-by-page CSS exceptions when a reusable rule is possible
- Publishing personal email addresses simply to make routing work
- Rebuilding functioning historical content solely because its HTML is old
- Undocumented one-off fixes future maintainers can't understand