Products: list (sort/search/column selection) + read-only detail view #14

Closed
opened 2026-06-11 06:58:59 +00:00 by ben.stull · 1 comment
Owner

Summary

Product list + read-only detail: a merchant can browse a list of all their
storefront's products — sorting, searching, and choosing which columns they
see — and navigate to a read-only detail view of any product.

Problem / pain

Imported catalog data is invisible: a merchant who bulk-loads hundreds of
products has no way to confirm what the platform now holds, so they cannot
trust that an import worked, spot a bad row, or answer "what does my catalog
look like in here?" without exporting it back out and reading a spreadsheet.
Platform builders feel the same blindness — there is no surface on which to
demo or validate the catalog the epic (#12) creates. And even once products are
visible, a flat, unsortable, unsearchable list of hundreds of rows is hard to
work: a merchant can't locate a specific product, order the view by what
matters to them, or pare the columns down to the fields they care about, so
they are left scrolling a wall of rows to find anything.

Who feels it

persona role what they need
Merchant storefront owner see at a glance that their catalog loaded correctly, find any specific product fast, and inspect any product in full
Platform builder dev building product-dependent capabilities a browsable, workable catalog surface to build and demo against

Desired outcome / value

The catalog is inspectable and workable in place: every import is immediately
verifiable by eye, a merchant can find and order products by what matters to
them and tailor the columns they see, a single product's full data is one
navigation away, and the storefront's admin stops being blind to — or
overwhelmed by — its own inventory of products.

Acceptance — "done right"

  • The product list shows all of the storefront's products.
  • The list can be sorted by standard columns.
  • The merchant can search the list to find specific products.
  • The merchant can choose which columns are shown, and sensible default
    columns are defined for a first view.
  • The merchant can navigate from the list to any product's detail view.
  • The detail view shows the product's data and is read-only — it offers no
    way to create, edit, or delete.

Scope / non-goals

In: the product list with standard sort, search, and column selection
(including defined defaults); navigation to a per-product read-only detail view.

Out: any mutation affordance (creating, editing, deleting — creating is its
own Feature, #25); merchandising features (curation, collections, featured
products); shopper-facing storefront browsing — this is the merchant-side admin
surface.

Assumptions · constraints · dependencies

  • Parent: #12 (Products MVP epic).
  • Sibling: the CSV bulk import/export Feature (#13) supplies the data this
    displays; the create-single-product Feature (#25) adds rows this must show.
  • Constraint: read-only detail is the epic's deliberate MVP boundary, not an
    accident.
  • As a type/feature, requires a Solution Design before an implementation
    plan (handbook §4.3 gate).

Source / signal

Operator ask, capture session ecomm-0026 (2026-06-10) — decomposition of
Epic #12 (originally captured in session ecomm-0025); sort/search/column
selection added in capture session ecomm-0031 (2026-06-11).

Priority (WSJF)

Value 7 · Time-criticality 5 · Opportunity-enablement 6 ÷ Size 4 ≈ 4.5
the verification half of the epic; imports are untrustworthy without it →
priority/P1.

Decomposition

Deferred — slicing belongs to the Feature's Solution Design (handbook §4.3).

Solution notes (optional — NOT a design, non-binding)

  • The product list is the first instance of a general data-table that is
    intended to become a reusable shared component used across many admin pages,
    not a one-off bespoke to products. Sort, search, and column selection should
    be designed as table-level capabilities the component owns, so later pages
    inherit them. Non-binding — the Solution Design decides the actual factoring.
<!-- Set the type/* label --> ## Summary Product list + read-only detail: a merchant can browse a list of all their storefront's products — sorting, searching, and choosing which columns they see — and navigate to a read-only detail view of any product. ## Problem / pain Imported catalog data is invisible: a merchant who bulk-loads hundreds of products has no way to confirm what the platform now holds, so they cannot trust that an import worked, spot a bad row, or answer "what does my catalog look like in here?" without exporting it back out and reading a spreadsheet. Platform builders feel the same blindness — there is no surface on which to demo or validate the catalog the epic (#12) creates. And even once products are visible, a flat, unsortable, unsearchable list of hundreds of rows is hard to *work*: a merchant can't locate a specific product, order the view by what matters to them, or pare the columns down to the fields they care about, so they are left scrolling a wall of rows to find anything. ## Who feels it | persona | role | what they need | | --- | --- | --- | | Merchant | storefront owner | see at a glance that their catalog loaded correctly, find any specific product fast, and inspect any product in full | | Platform builder | dev building product-dependent capabilities | a browsable, workable catalog surface to build and demo against | ## Desired outcome / value The catalog is inspectable and workable in place: every import is immediately verifiable by eye, a merchant can find and order products by what matters to them and tailor the columns they see, a single product's full data is one navigation away, and the storefront's admin stops being blind to — or overwhelmed by — its own inventory of products. ## Acceptance — "done right" - The product list shows all of the storefront's products. - The list can be **sorted** by standard columns. - The merchant can **search** the list to find specific products. - The merchant can **choose which columns are shown**, and sensible default columns are defined for a first view. - The merchant can navigate from the list to any product's detail view. - The detail view shows the product's data and is **read-only** — it offers no way to create, edit, or delete. ## Scope / non-goals **In:** the product list with standard sort, search, and column selection (including defined defaults); navigation to a per-product read-only detail view. **Out:** any mutation affordance (creating, editing, deleting — creating is its own Feature, #25); merchandising features (curation, collections, featured products); shopper-facing storefront browsing — this is the merchant-side admin surface. ## Assumptions · constraints · dependencies - Parent: #12 (Products MVP epic). - Sibling: the CSV bulk import/export Feature (#13) supplies the data this displays; the create-single-product Feature (#25) adds rows this must show. - Constraint: read-only detail is the epic's deliberate MVP boundary, not an accident. - As a `type/feature`, requires a Solution Design before an implementation plan (handbook §4.3 gate). ## Source / signal Operator ask, capture session `ecomm-0026` (2026-06-10) — decomposition of Epic #12 (originally captured in session `ecomm-0025`); sort/search/column selection added in capture session `ecomm-0031` (2026-06-11). ## Priority (WSJF) Value 7 · Time-criticality 5 · Opportunity-enablement 6 ÷ Size 4 ≈ **4.5** — the verification half of the epic; imports are untrustworthy without it → `priority/P1`. ## Decomposition Deferred — slicing belongs to the Feature's Solution Design (handbook §4.3). ## Solution notes (optional — NOT a design, non-binding) - The product list is the first instance of a **general data-table** that is intended to become a reusable shared component used across many admin pages, not a one-off bespoke to products. Sort, search, and column selection should be designed as table-level capabilities the component owns, so later pages inherit them. Non-binding — the Solution Design decides the actual factoring.
ben.stull added the type/featurepriority/P1 labels 2026-06-11 06:58:59 +00:00
ben.stull changed title from Products: list + read-only product detail view to Products: list (sort/search/column selection) + read-only detail view 2026-06-11 16:10:59 +00:00
Author
Owner

Closing as part of the pivot from a generic multi-tenant Shopify-alternative storefront to the commitment-commerce + cross-maker verified referral network direction (see ecomm-content/rfcs/network_strategy.md; session 0036).

Storefront catalog list/detail UX — Medusa provides this for its own makers; it is not a network-service surface. Superseded.

Nothing is lost — code stays in git history and the issue can be reopened if it resurfaces under the network architecture.

Closing as part of the pivot from a generic multi-tenant Shopify-alternative storefront to the commitment-commerce + cross-maker verified referral **network** direction (see `ecomm-content/rfcs/network_strategy.md`; session 0036). Storefront catalog list/detail UX — Medusa provides this for its own makers; it is not a network-service surface. Superseded. Nothing is lost — code stays in git history and the issue can be reopened if it resurfaces under the network architecture.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wiggleverse/wiggleverse-ecomm#14