Skip to main content

Skyhawk Site Modernization Roadmap

Skyhawk Site Modernization Roadmap

Skyhawk Site Modernization Roadmap

Purpose: This is the living plan for completing the modernization of Skyhawk.org while preserving the historical content that has accumulated over decades.

The site is approaching content maturity. The principal remaining work is no longer creating large amounts of new historical content. It is bringing the presentation, navigation, contribution workflows, privacy controls, and content management structure into a form that can be maintained reliably for years without constant reconstruction.


North Star

Modernize incrementally. Design globally. Preserve history.

Skyhawk.org will not be rewritten merely because portions of the existing HTML are old. Content that works, displays correctly, and remains maintainable will be preserved. Modernization effort will be concentrated where it improves usability, maintainability, privacy, contribution workflows, or long-term reliability.

The objective is a website that eventually reaches a stable state where normal Drupal security and compatibility maintenance can occur without repeatedly redesigning the site or rediscovering how custom pieces work.

Guiding Principles

  • Drupal owns the content. Important operational information should live in Drupal entities, fields, taxonomy, Views, Webforms, and configuration wherever practical.
  • Custom code is minimized. Drupal core and established contributed functionality are preferred over purpose-built modules where configuration can accomplish the same job reliably.
  • Skyhawk-specific code lives outside contributed projects. No permanent Skyhawk customization should be stored inside Bootstrap Barrio or another contributed theme/module where an update can overwrite it.
  • One canonical global CSS source. Site-wide Skyhawk CSS is maintained under the custom skyhawk_site_fixes module rather than under a contributed theme.
  • Global CSS should be conservative. Site-wide rules provide the shell, typography baseline, responsive safety, navigation, and Drupal integration. They should not dictate the internal design of every content page.
  • Legacy content gets compatibility, not punishment. Old HTML that still works should not be rebuilt merely for ideological purity. Legacy-specific CSS should be isolated to content that genuinely needs it.
  • Modern content uses reusable patterns. New squadron pages, memorials, directories, and other modernized sections should use common Drupal structures and reusable design components.
  • Privacy by design. Personal contact information should not need to be published simply to permit communication. Drupal routing and controlled forms should replace exposed email addresses wherever practical.
  • Human workload matters. SDOs, editors, contributors, members, and administrators should enter only information that the system cannot determine automatically.
  • Back up before mutation. Significant migrations and structural changes require a recoverable backup and verification step.
  • One controlled change at a time. Changes should be broad enough to accomplish a meaningful task but verified before the next structural change begins.

Current Architecture Decisions

Theme

The live site uses Bootstrap Barrio. The abandoned skyhawk_barrio project has been retired from the live web tree and Drupal configuration.

Skyhawk CSS

The canonical site stylesheet is:

web/modules/custom/skyhawk_site_fixes/css/skyhawk-global.css

Custom Skyhawk CSS previously scattered through contributed Bootstrap Barrio, the abandoned custom Barrio theme, and older site-fix files has been consolidated into this location.

The next CSS objective is to separate genuinely global behavior from legacy compatibility behavior and reusable modern page-family behavior.

Contact and Privacy

The public contact workflow uses Drupal Webform. Public email addresses are being removed where forms and private routing can perform the same function.

Contact-form notification routing remains in controlled test mode while SDO assignments are reviewed.

SDO Directory

Skyhawk units and SDO assignments are maintained using Drupal taxonomy and Drupal user references rather than a custom routing module.

Super SDO reviewers can maintain the directory through Drupal. Revision history records changes.

Modernization Classes

The site-wide census will classify existing content into practical groups. These categories may be refined after the census.

Class 1: Modern / Native Drupal

Content already using maintainable Drupal structures and responsive presentation. These pages normally require little or no structural work.

Class 2: Legacy but Harmless

Older HTML that remains readable, responsive enough, and operational. These pages should generally be left alone except for safe global improvements.

Class 3: Legacy Layout-Dependent

Pages relying on fixed-width tables, extensive inline formatting, obsolete markup, or other structures requiring compatibility CSS. These pages receive a deliberate legacy compatibility layer rather than uncontrolled global exceptions.

Class 4: Modernization Candidates

Content whose usefulness justifies conversion into reusable modern Drupal presentation and management patterns. Squadron pages are the first major family in this category.

Reusable Page Families

The census will determine the final list. Expected families currently include:

  • Squadron / unit pages
  • Memorial and remembrance content
  • Journal presentation
  • Aircraft / BuNo galleries
  • Research and data-heavy Views
  • Reunion content
  • Association information and administration

A page family should receive dedicated CSS or Drupal structure only when multiple pages genuinely share that design or behavior. We will not create a permanent stylesheet for every individual node.

Squadron Modernization: Phase 1

VMA-131 Diamondbacks is the prototype for the modern squadron-page model.

The objective is not to create a unique VMA-131 exception. The objective is to learn from VMA-131 and produce a reusable squadron structure that can gradually be applied to other units.

The emerging squadron structure includes:

  • Unit identity / hero presentation
  • Key unit facts
  • Section navigation
  • History
  • People
  • Stories
  • Aircraft
  • Photos
  • Remembrance
  • Research and source material
  • Contribution workflow
  • Access to preserved legacy records where appropriate

Members should be able to contribute photographs through the established contribution workflow. Stories, corrections, questions, and historical information should use the Association contact workflow with the relevant unit preselected where practical.

CSS Architecture Goal

The intended long-term structure is conceptual rather than filename-driven:

  1. Global foundation: safe site-wide layout, responsive media, navigation, typography, Drupal shell, and administration.
  2. Legacy compatibility: targeted rules for old HTML structures that genuinely need intervention.
  3. Reusable modern families: styling shared by modernized content families such as squadron pages.

The exact file organization will be determined after the site-wide census. We will not create unnecessary stylesheet fragmentation merely for organizational appearance.

Site-Wide Census

Status: Pending.

A read-only Drupal census will inventory the existing content and identify common structural patterns before further global CSS restructuring.

The census should measure, among other things:

  • Content types and node counts
  • Published and unpublished content
  • Path aliases
  • Body text formats
  • Body size
  • HTML tables
  • Fixed-width and percentage-width tables
  • Inline styles
  • Inline image dimensions
  • Legacy HTML elements and attributes
  • Embedded stylesheet or link tags
  • Fixed widths and minimum widths
  • Whitespace / nowrap behavior
  • Bootstrap classes
  • Existing custom wrapper classes
  • Pages primarily generated by Views
  • Known page-specific CSS exceptions

The census will be summarized here rather than left solely in an external report.

Migration Method

  1. Inventory first.
  2. Identify common structure.
  3. Define reusable Drupal/content patterns.
  4. Correct global CSS where a global correction is appropriate.
  5. Isolate legacy compatibility behavior.
  6. Modernize one representative page or family.
  7. Verify desktop, tablet, and phone behavior.
  8. Document the result here.
  9. Repeat gradually for the next useful content family.

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.
  • Large custom modules when Drupal configuration can do the job.
  • Publishing personal email addresses simply to make routing work.
  • Rebuilding functioning historical content solely because its HTML is old.
  • Changing multiple unrelated systems before verifying the previous change.
  • Undocumented one-off fixes that future maintainers cannot understand.

Definition of “Done”

Skyhawk.org should eventually reach a state where:

  • Historical content is preserved and accessible.
  • New contributions have clear Drupal-managed workflows.
  • Routine editors can maintain content without editing raw HTML.
  • Personal information is protected appropriately.
  • Global CSS is stable and predictable.
  • Legacy compatibility rules are contained.
  • Modern page families are reusable.
  • Skyhawk customization is isolated from contributed-project updates.
  • Backups and architecture are understandable to the next maintainer.
  • Drupal upgrades can be treated primarily as maintenance rather than redesign projects.

Current Working Phase

Phase: Site census and global CSS architecture.

VMA-131 remains the first modernization prototype, but broad site structure will be understood before additional page-specific fixes are added.

Decision Log

  • 2026-08-16: Retired the abandoned skyhawk_barrio theme from the live site and configuration.
  • 2026-08-16: Consolidated Skyhawk global CSS under skyhawk_site_fixes.
  • 2026-08-16: Agreed that modernization will proceed incrementally, beginning with VMA-131, while architecture decisions are made from site-wide evidence.
  • 2026-08-16: Established this Drupal page as the living modernization roadmap and decision record.

Next Action

Run the read-only Drupal site census, classify the content, identify common structures and high-risk legacy patterns, and add the resulting summary to this page before restructuring the global CSS further.