{"id":"69b918ae5015a698c66d1f7e","title":"2026 03 17 Issue 192","path":"how-to/committee/release-notes/2026-03-17-issue-192","contentMarkdown":"# 17-Mar-2026 — index filtering, S3 bucket override, and content path editor [#192](https://github.com/nbarrett/ngx-ramblers/issues/192)\n\n## [build 542](https://github.com/nbarrett/ngx-ramblers/actions/runs/23188396409) — [commit e6a3ee1](https://github.com/nbarrett/ngx-ramblers/commit/e6a3ee1db04da526891728ce304153e06bc7f373)\n\n_____\n\n## Index Filtering\n### New \"Index Pages\" Content Type\nA new content type called **Index Pages** is available in the index\neditor. When selected, only pages that themselves contain an index\nrow are included in the results. This allows a gallery index to\nautomatically discover its child index pages without hardcoding\neach path individually.\n### \"Show in Parent Index\" Flag\nEach index row now has a **Show in Parent Index** checkbox\n(defaults to checked). Unchecking it hides that page from any\nparent index that uses the Index Pages content type. This is\nuseful for intermediate navigation pages (e.g. year-based\nbreadcrumb indexes like `gallery/2018`) that should remain\naccessible directly but not clutter the top-level gallery view.\n### Max Path Depth Filtering\nThe existing `maxPathSegments` field on content path matches is\nnow enforced. Setting Max Depth to `1` on a `Starts With` match\nfor `gallery/` will only return direct children (e.g.\n`gallery/holidays`) and exclude deeper pages (e.g.\n`gallery/holidays/coast-to-coast-2014`).\n### Data Migration\nA migration (`20260317000000-backfill-show-in-parent-index`)\nsets `showInParentIndex: true` on all existing index rows to\npreserve current behaviour. No pages are hidden until explicitly\nunchecked.\n## CLI S3 Bucket Override\n### Interactive Prompt\nWhen starting `ngx-cli local dev` or `local prod`, a new prompt\nasks **\"Override S3 bucket?\"** after the environment is selected.\nIt lists all configured environments with their bucket names.\nPressing Enter accepts \"No override\" (the default). This is\nuseful when running a restored database locally and needing\nimages from a different environment's S3 bucket.\n### CLI Flag\nThe prompt can be skipped with `--s3-bucket <bucket>`:\n```\nngx-cli local dev ekwg-dev-2-staging --s3-bucket ngx-ramblers-north-west-kent\n```\n## Content Path Editor\n### Datalist Inputs\nThe content path and exclude path fields in the index editor now\nuse native `<datalist>` elements instead of typeahead inputs.\nThis provides:\n- All site links shown as suggestions with no result limit\n- Fully editable text — click in and modify at any time\n- No browser autocomplete interference\n- Free-form typing for paths not yet in the list","contentHtml":"<h1>17-Mar-2026 — index filtering, S3 bucket override, and content path editor <a href=\"https://github.com/nbarrett/ngx-ramblers/issues/192\">#192</a></h1>\n<h2><a href=\"https://github.com/nbarrett/ngx-ramblers/actions/runs/23188396409\">build 542</a> — <a href=\"https://github.com/nbarrett/ngx-ramblers/commit/e6a3ee1db04da526891728ce304153e06bc7f373\">commit e6a3ee1</a></h2>\n<hr>\n<h2>Index Filtering</h2>\n<h3>New &quot;Index Pages&quot; Content Type</h3>\n<p>A new content type called <strong>Index Pages</strong> is available in the index\neditor. When selected, only pages that themselves contain an index\nrow are included in the results. This allows a gallery index to\nautomatically discover its child index pages without hardcoding\neach path individually.</p>\n<h3>&quot;Show in Parent Index&quot; Flag</h3>\n<p>Each index row now has a <strong>Show in Parent Index</strong> checkbox\n(defaults to checked). Unchecking it hides that page from any\nparent index that uses the Index Pages content type. This is\nuseful for intermediate navigation pages (e.g. year-based\nbreadcrumb indexes like <code>gallery/2018</code>) that should remain\naccessible directly but not clutter the top-level gallery view.</p>\n<h3>Max Path Depth Filtering</h3>\n<p>The existing <code>maxPathSegments</code> field on content path matches is\nnow enforced. Setting Max Depth to <code>1</code> on a <code>Starts With</code> match\nfor <code>gallery/</code> will only return direct children (e.g.\n<code>gallery/holidays</code>) and exclude deeper pages (e.g.\n<code>gallery/holidays/coast-to-coast-2014</code>).</p>\n<h3>Data Migration</h3>\n<p>A migration (<code>20260317000000-backfill-show-in-parent-index</code>)\nsets <code>showInParentIndex: true</code> on all existing index rows to\npreserve current behaviour. No pages are hidden until explicitly\nunchecked.</p>\n<h2>CLI S3 Bucket Override</h2>\n<h3>Interactive Prompt</h3>\n<p>When starting <code>ngx-cli local dev</code> or <code>local prod</code>, a new prompt\nasks <strong>&quot;Override S3 bucket?&quot;</strong> after the environment is selected.\nIt lists all configured environments with their bucket names.\nPressing Enter accepts &quot;No override&quot; (the default). This is\nuseful when running a restored database locally and needing\nimages from a different environment&#39;s S3 bucket.</p>\n<h3>CLI Flag</h3>\n<p>The prompt can be skipped with <code>--s3-bucket &lt;bucket&gt;</code>:</p>\n<pre><code>ngx-cli local dev ekwg-dev-2-staging --s3-bucket ngx-ramblers-north-west-kent\n</code></pre>\n<h2>Content Path Editor</h2>\n<h3>Datalist Inputs</h3>\n<p>The content path and exclude path fields in the index editor now\nuse native <code>&lt;datalist&gt;</code> elements instead of typeahead inputs.\nThis provides:</p>\n<ul>\n<li>All site links shown as suggestions with no result limit</li>\n<li>Fully editable text — click in and modify at any time</li>\n<li>No browser autocomplete interference</li>\n<li>Free-form typing for paths not yet in the list</li>\n</ul>\n"}