Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Operation slot machine #2301

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from
Draft

Operation slot machine #2301

wants to merge 4 commits into from

Conversation

zspencer
Copy link
Member

@zspencer zspencer commented Mar 14, 2024

@rosschapman ran into a weird bug when ActionTexting the MarkdownTextBlock where the action text couldn't save itself. Basically we were using nested attributes with a faux-relationship; which meant the actual MarktdownTextBlock was not getting saved.

@anaulin pointed out that this is an example of the single-table-inheritance being annoying, and that maybe we should finally deal with the cruft and blurry lines from our initial Furniture implementation.

So we started down the path of a refactor where we make a Slot responsible for where in a particular Section a Gizmo should live; and which Gizmo should live in that spot.

So we wrote a System Spec, and then we started implementing it and realized we had gone down the wrong pathyway, we want to create the Gizmo first and then add the Slot!

So we're going to reset and move forward with making a Card for each Gizmo!

  • Change the Sections#edit page so that our new Gizmo management interface is a collection of CardComponents that link to the particular Gizmo's #new page.

We talked a bit at ensemble and Ana made the astute observation that
the complexity of how Gizmos work using hand-wrolled single table
inheritance is probably the biggest drag on development right now.

So we're starting to untangle that by building up a way to `Slot` in
`Gizmos` like the `Marketplace` or a `TextBlock` without the baggage of
`Furniture`'s single-table-inheritance.

Going forward, each `Gizmo` will need it's own `Model` and table for
storing data; as we will eventually ditch the `furnitures` table
completely.
We decided that instead of creating a `Slot`, we want to create Gizmos
directly, and we want to make those `Gizmo` by sending users to the
actual `/new` page for the particular `Gizmo`.

We're thinking we will make the UI cards of Gizmos, so that they can
include things like why you might want to add that Gizmo, or the help docs
or the ... whatever. We don't know. It'll be fine.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant