{"id":"69a6bb23cd001e38724e743c","title":"2026 03 03 Issue 174","path":"how-to/committee/release-notes/2026-03-03-issue-174","contentMarkdown":"# 03-Mar-2026 — cover image and focal point overrides for index entries [#174](https://github.com/nbarrett/ngx-ramblers/issues/174)\n\n## [build 509](https://github.com/nbarrett/ngx-ramblers/actions/runs/22618780690) — [commit 1ec3133](https://github.com/nbarrett/ngx-ramblers/commit/1ec3133871cd7ea7cfbe1ad1faa21a5508622835)\n\n_____\n\n### New Features\n#### Cover Image Overrides\nWhen editing an album index page, a new collapsible **Cover Image Overrides** accordion appears below the content path settings. Expanding it reveals a list of all entries in the index, each showing a thumbnail, title, path, and status badge.\nClicking **Edit cover image** on any entry expands an image grid showing all available images from the album catalogue. For nested index pages (an index containing other indexes), images from all child albums are aggregated into a single grid. The album's default cover image is marked with a gold star. Clicking any image selects it as the cover — a blue circle confirms the selection, and the index card preview updates immediately.\n#### Focal Point Control\nBelow the image grid, a focal point picker allows precise control over where the image is cropped on the index card. Click and drag the crosshair to reposition, and use the zoom slider to zoom in on the focal area. The index card preview updates **in real time** as you drag — no save required. This works for both direct album entries and nested index entries that inherit images from child albums.\n#### Smart Defaults\nIndex entries now automatically inherit the cover image and focal point from the first child album, respecting the index sort configuration. For example, if the index is sorted by title ascending, the cover comes from the alphabetically first child album's configured cover image and focal point settings. No manual configuration is needed for sensible defaults.\n#### Index-of-Indexes Support\nFor nested index pages where an entry is itself an index that aggregates child albums, the system follows the albumIndex content paths to discover child pages, find their carousel configurations, and fetch all associated image metadata. This applies both to the default cover image resolution and to the override editor's image grid, which shows the full catalogue from all child albums.\n#### Inline Reset\nEach customised entry displays a blue **Customised** badge with a **Reset to default** button directly on the collapsed row — one click to revert without expanding. A reset button is also available inside the expanded view. Resetting removes the override and restores the album's own cover image and focal point.\n#### How to Use\n- Navigate to any page with an album index and enter edit mode\n- Below the content path settings and item count, expand the **Cover Image Overrides** accordion\n- Click **Edit cover image** on any entry to see the image grid\n- Click any image to select it as the cover for that entry\n- Drag the focal point crosshair and zoom slider to control cropping — the preview updates live\n- To reset a customised entry, click the **Reset to default** button next to the blue **Customised** badge\n- Changes are saved when you save the page — override data is stored on the index configuration, not on individual albums\n#### Visual Indicators\n- **Album Default** (grey outline badge) — using the album's own cover image and focal point\n- **Customised** (blue badge) — a custom cover image or focal point has been set\n- **Gold star** on image thumbnail — the album's default cover image\n- **Blue circle** on image thumbnail — the selected override image\n- Accordion header shows count of customised entries (e.g. \"2 customised\")\n### Bug Fixes\n- Fix Mongoose CastError when numeric Meetup IDs (e.g. from legacy Meetup imports) are used in walk queries, by filtering non-ObjectId values from the _id.$in clause before querying MongoDB","contentHtml":"<h1>03-Mar-2026 — cover image and focal point overrides for index entries <a href=\"https://github.com/nbarrett/ngx-ramblers/issues/174\">#174</a></h1>\n<h2><a href=\"https://github.com/nbarrett/ngx-ramblers/actions/runs/22618780690\">build 509</a> — <a href=\"https://github.com/nbarrett/ngx-ramblers/commit/1ec3133871cd7ea7cfbe1ad1faa21a5508622835\">commit 1ec3133</a></h2>\n<hr>\n<h3>New Features</h3>\n<h4>Cover Image Overrides</h4>\n<p>When editing an album index page, a new collapsible <strong>Cover Image Overrides</strong> accordion appears below the content path settings. Expanding it reveals a list of all entries in the index, each showing a thumbnail, title, path, and status badge.\nClicking <strong>Edit cover image</strong> on any entry expands an image grid showing all available images from the album catalogue. For nested index pages (an index containing other indexes), images from all child albums are aggregated into a single grid. The album&#39;s default cover image is marked with a gold star. Clicking any image selects it as the cover — a blue circle confirms the selection, and the index card preview updates immediately.</p>\n<h4>Focal Point Control</h4>\n<p>Below the image grid, a focal point picker allows precise control over where the image is cropped on the index card. Click and drag the crosshair to reposition, and use the zoom slider to zoom in on the focal area. The index card preview updates <strong>in real time</strong> as you drag — no save required. This works for both direct album entries and nested index entries that inherit images from child albums.</p>\n<h4>Smart Defaults</h4>\n<p>Index entries now automatically inherit the cover image and focal point from the first child album, respecting the index sort configuration. For example, if the index is sorted by title ascending, the cover comes from the alphabetically first child album&#39;s configured cover image and focal point settings. No manual configuration is needed for sensible defaults.</p>\n<h4>Index-of-Indexes Support</h4>\n<p>For nested index pages where an entry is itself an index that aggregates child albums, the system follows the albumIndex content paths to discover child pages, find their carousel configurations, and fetch all associated image metadata. This applies both to the default cover image resolution and to the override editor&#39;s image grid, which shows the full catalogue from all child albums.</p>\n<h4>Inline Reset</h4>\n<p>Each customised entry displays a blue <strong>Customised</strong> badge with a <strong>Reset to default</strong> button directly on the collapsed row — one click to revert without expanding. A reset button is also available inside the expanded view. Resetting removes the override and restores the album&#39;s own cover image and focal point.</p>\n<h4>How to Use</h4>\n<ul>\n<li>Navigate to any page with an album index and enter edit mode</li>\n<li>Below the content path settings and item count, expand the <strong>Cover Image Overrides</strong> accordion</li>\n<li>Click <strong>Edit cover image</strong> on any entry to see the image grid</li>\n<li>Click any image to select it as the cover for that entry</li>\n<li>Drag the focal point crosshair and zoom slider to control cropping — the preview updates live</li>\n<li>To reset a customised entry, click the <strong>Reset to default</strong> button next to the blue <strong>Customised</strong> badge</li>\n<li>Changes are saved when you save the page — override data is stored on the index configuration, not on individual albums</li>\n</ul>\n<h4>Visual Indicators</h4>\n<ul>\n<li><strong>Album Default</strong> (grey outline badge) — using the album&#39;s own cover image and focal point</li>\n<li><strong>Customised</strong> (blue badge) — a custom cover image or focal point has been set</li>\n<li><strong>Gold star</strong> on image thumbnail — the album&#39;s default cover image</li>\n<li><strong>Blue circle</strong> on image thumbnail — the selected override image</li>\n<li>Accordion header shows count of customised entries (e.g. &quot;2 customised&quot;)</li>\n</ul>\n<h3>Bug Fixes</h3>\n<ul>\n<li>Fix Mongoose CastError when numeric Meetup IDs (e.g. from legacy Meetup imports) are used in walk queries, by filtering non-ObjectId values from the _id.$in clause before querying MongoDB</li>\n</ul>\n"}