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
- Identify the real photograph in the existing Skyhawk public file collection.
- Use the original source photograph as the authoritative full-size file.
- Use Drupal's existing skyhawk_gallery_thumb image style for the thumbnail.
- Generate/verify the derivative rather than assuming it exists.
- Convert CLI image-style URLs to browser-relative /sites/default/files/styles/... URLs.
- Wrap every thumbnail in a link to the original full-size photograph, opened in a separate window.
- 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
- Read this page and the machine-readable contract.
- Use NID 155 and the existing scrape as source evidence.
- Inspect the actual current 131/223/311 markup and visual behavior.
- Build VMA-214 on that unit-neutral architecture, populated only with VMA-214 material.
- Preserve substantial history via expandable sections rather than deletion.
- Visually compare against the regression pages before promotion.
- 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.viewentity 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.