michael / michael/editable

Use case: Linking (,searching, categorizing ?)

Open
#47 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Svelte
Stars
1.8k
Forks
150
Avg merge
11h 46m
Merged PRs (30d)
8

Description

I think conceptually EW is ready for marketing-ish pages. Also story-telling in the form of articles. Pages will be linked in two ways:

  • Inline link: A classic <a> within text
  • Block link: You can optionally put a link behind certain block elements. E.g. a ListingItem (think of a /blog url, where all blog entries are displayed in a list or as a grid).

Now let's look at a slightly more sophisticated use case: In addition to a couple of marketing pages, you may want to create a product catalog of say 200 products. Now you can do all that, but you'd be limited to creating sub-pages (the categories). And it might get hard to find stuff at some point.

Now the question is: Should EW support that use-case? If yes, the following needs to be made possible:

  • For admins
    • have a place where you can browse / search / filter all pages
      • this is how you find stuff, that hasn't been linked
    • ability to add tags to pages to categorize them
    • on page being able to set links to dynamic listings, in addition to linking to other pages directly
      • think all/printers to show all printers available
  • For users
    • ability to browse a catalog, ideally the whole site by tags (which can be interpreted as collections)
    • quick search: you may want to type a product name / article number and find the thing

Challenges:

  • as soon as you allow users to navigate to /all, they may see stuff that they shouldn't see yet
    • Solution: Introduce page visibility private/public
    • Solution 2: only be able to see tagged pages (implicitly "not tagged" means private, or must be linked explicitly from some other page)
  • Maybe a generic /all does not make much sense for a user, e.g. you don't want to see homepage, about and contact listed there i guess
  • Should you be able to control the order of the listings (e.g. /all/printers)

Need to reflect some more, but the whole expose search/filter to website visitors thing brings quite a bit of complexity. So I wonder if for the 200 products use-case it might be better to implement something custom in SvelteKit and maintain a product list with all data in a spreadsheet that then is imported. Rather than trying to turn editable website into an entity-management system.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the current page-linking and page-visibility model against the use cases described here. Compare admin browsing, searching, filtering, tags, dynamic listings, user search, and visibility rules with the proposed custom SvelteKit and spreadsheet approach. Done requires a decided scope and documented behavior; this issue names no files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend, search, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.