Skip to main content

VMA-131/214 Squadron Template

Status

VMA-131 is the approved baseline reusable squadron-page template, verified on visual and functional review. VMA-214's latest generated pair was technically produced but rejected on visual/content review and is not approved for promotion.

Template / Regression Nodes (Proven Architecture)

  • VMA-131 landing/archive: NIDs 49417 / 49419
  • VMA-223 landing/archive: NIDs 49421 / 49420
  • VMA-311 landing/archive: NIDs 49423 / 49422

These define proven architecture, visual behavior, section order, controls and regression expectations. Squadron-specific historical content must never be cloned into another squadron. A legitimate historical mention of another squadron in source material is not contamination.

Global Squadron Namespace

squadron-* is the reusable component namespace (not v131-*). skyhawk-squadron-page is the global page wrapper. Unit designations must not be embedded in shared class names.

Deterministic Squadron Photo Standard

  1. Identify the real photograph in the existing Skyhawk public file collection.
  2. Use the original source photograph as the authoritative full-size file.
  3. Use Drupal's existing skyhawk_gallery_thumb image style for the thumbnail.
  4. Generate/verify the derivative rather than assuming it exists.
  5. Convert CLI image-style URLs to browser-relative /sites/default/files/styles/... URLs.
  6. Wrap every thumbnail in a link to the original full-size photograph, opened in a separate window.
  7. Provide an obvious return path to the parent squadron page.

VMA-214 Handoff (17 August 2026)

Authoritative source: NID 155, /article-unit/vma214 — must not be changed/retired until historical material is verified in approved destinations.

Rejected experimental pair: Landing NID 49427 (/squadrons/vma-214-scrape-preview), Archive NID 49426 (/squadrons/vma-214-scrape-photo-archive). Older experimental pair also non-template: NIDs 49424/49425.

Rejection reasons: duplicate title/page identity, oversized body H1, Legacy Handle/Heritage material flattened/duplicated instead of cleanly mapped, literal placeholder text ("History Page 1"–"6") appeared, landing page has substantially less useful history than the source requires.

Scrape-First Workflow

Before every new squadron modernization: scrape and inventory the original target page first. The scrape is target-specific evidence, not the template. Tooling: site_modernization/tools/squadron_source_scrape.php and squadron_from_scrape.php (last rendering output failed visual review — needs correction against the proven pages before reuse).

Aircraft-History Provenance: Gabby and Kid

Gabby's Histories is an aircraft-history source (Bureau Number, model, date, custodian, location, notes) — not a photo archive. Kid had access to and used Gabby's data during his research; Kid's work must remain separately attributed, never silently merged into Gabby's records.

Binding Contract

Machine-readable contract: web/modules/custom/skyhawk_site_fixes/data/squadron-template-contract.php. Read both this page and the contract before proposing squadron work.

Next Steps for VMA-214

  1. Read this page and the machine-readable contract.
  2. Use NID 155 and the existing scrape as source evidence.
  3. Inspect the actual current 131/223/311 markup and visual behavior.
  4. Build VMA-214 on that unit-neutral architecture, populated only with VMA-214 material.
  5. Preserve substantial history via expandable sections rather than deletion.
  6. Visually compare against the regression pages before promotion.
  7. Only after approval, update permanent aliases/navigation and retire experimental nodes.

VMA-131 Public Photo Archive Access

SKYHAWK_VMA131_PUBLIC_PHOTO_ACCESS_V1

Status: VERIFIED WORKING / ACCEPTED CURRENT STATE

  • Public squadron preview: /squadrons/vma-131-preview.
  • Photo archive: /squadrons/vma-131/photos-preview.
  • Photo archive owner: node 49419, title VMA-131 Diamondbacks Photo Archive.
  • The route uses normal node.view entity access.
  • The access defect was that node 49419 was unpublished, not a View or role-permission defect.
  • Node 49419 is now published.
  • Public verification returned HTTP 200.
  • Anonymous and ordinary authenticated users are intended to view this public photo archive.
  • The separate Gabby histories route remains intentionally restricted and was not changed.

Reuse rule: when a squadron page links to a public archive child page, verify the child entity is published before changing Views access, roles, grants, or custom permissions.