Skip to content

module order links should be a variable #70

@Frijol

Description

@Frijol

Our current module order linking is a bit of a mess. They're not future proof, and it's confusing to people trying to purchase our product.

Currently, there are links that point to different places around the internet which used to be where you'd buy Tessel modules, including:

  • Our old Celery store
  • Our new Celery store
  • The shop we used to have up at this domain
  • Seeed's store
  • Probably other places

This sucks. There is no good way to fix the existing link problem, but we can try to fix it for the future.

My proposal: we create a sensible link, which we then map to redirect to wherever the appropriate place to buy is. For example:

  1. You want to buy the accelerometer module
  2. You click the button. The button's link goes to "tessel.io/modules/accelerometer/buy"
  3. Our routing (based on some mapping*) redirects that link to Seeed's accelerometer module page
  4. If Seeed is no longer the appropriate place to buy the accelerometer module in the future, we change the link wherever the redirects are mapped (just one place!) but "tessel.io/modules/accelerometer/buy" is still good.

I further propose that we use the existing modules.json to map the appropriate buy link.

Couple of questions:

  1. Is this a good overall solution to the problem?
  2. What's a nice, semantic link structure?
  3. Should we do this just for first-party modules? There are already some difficulties in how we currently use modules.json for mapping- we've used the npm package name, title (with upper case and spaces), and I think nickname in the past.

Ugh, this is atrocious. Definitely should have thought harder about this a couple of years ago. Other websites must do this well, right?

@rwaldron @tcr @HipsterBrown you may have thoughts on this?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions