blocksuite icon indicating copy to clipboard operation
blocksuite copied to clipboard

feat(blocks): microsheet-block init

Open raintoway opened this issue 1 year ago • 9 comments

1

Description

A block contains other block, is useful for user to organize their thoughts.

Easy to access the structure of author's thoughts.

This block is used by my organization frequently and stably.

Feature

  1. Flat data structure that minimizes the number of conflicts resolved by Yjs as much as possible
  2. Maximize the reuse of existing architecture capabilities and add this block in a plugin manner.
  3. Could contain other block
  4. Crud of row and column
  5. Selection
    • area selection
    • row selection
    • column selection
  6. Easy to copy a new microsheet-block from part of other microsheet-block's area
  7. User-friendly UI and interaction

More

As a block-based document system, I believe the richness of blocks is very important, as it directly relates to the user experience.

This block can attract users' preferences and engage more users, which is useful to commercialization process

Ps

if u agree this block , e2e test and unit test will coming soon

raintoway avatar Nov 07 '24 06:11 raintoway

⚠️ No Changeset found

Latest commit: 5c6749ef55449a44e396b0e48aedbefe48c0909c

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

changeset-bot[bot] avatar Nov 07 '24 06:11 changeset-bot[bot]

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
blocksuite ✅ Ready (Inspect) Visit Preview 💬 Add feedback Dec 18, 2024 11:30am

vercel[bot] avatar Nov 07 '24 06:11 vercel[bot]

@raintoway is attempting to deploy a commit to the toeverything Team on Vercel.

A member of the Team first needs to authorize it.

vercel[bot] avatar Nov 07 '24 06:11 vercel[bot]

Your org has enabled the Graphite merge queue for merging into master

Add the label “merge” to the PR and Graphite will automatically add it to the merge queue when it’s ready to merge.

You must have a Graphite account and log in to Graphite in order to use the merge queue. Sign up using this link.

graphite-app[bot] avatar Nov 07 '24 06:11 graphite-app[bot]

☁️ Nx Cloud Report

CI is running/has finished running commands for commit 5c6749ef55449a44e396b0e48aedbefe48c0909c. As they complete they will appear below. Click to see the status, the terminal output, and the build insights.

📂 See all runs for this CI Pipeline Execution


✅ Successfully ran 1 target

Sent with 💌 from NxCloud.

nx-cloud[bot] avatar Nov 07 '24 06:11 nx-cloud[bot]

hi @raintoway

Thank you for your contributions! They’re really impressive. However, on the UI side, we’d suggest using our new CSS variables prefixed with --affine-v2 for specific variable names.

As for the feature side, we believe that only basic text (with multi-format options) and an inline view block type for @ linked docs are needed; additional types aren’t necessary.

zanwei avatar Nov 07 '24 10:11 zanwei

hi @raintoway

Thank you for your contributions! They’re really impressive. However, on the UI side, we’d suggest using our new CSS variables prefixed with --affine-v2 for specific variable names.

As for the feature side, we believe that only basic text (with multi-format options) and an inline view block type for @ linked docs are needed; additional types aren’t necessary.

i got the point about the UI side, but the feature side, well.. u mean only basic text and inline-view of @ linked docs in cell is enough ? just like database-block ?
if is, the original reason i design this block as follow

  1. As a block-based document system, I believe the richness of blocks is very important, as it directly relates to the user experience.

  2. this block can attract users' preferences and engage more users, which is useful to commercialization process

raintoway avatar Nov 14 '24 09:11 raintoway

Thank you for your significant contribution with the microsheet-block! We truly appreciate the time and effort you've invested in this feature.

After careful review, we have some concerns about merging this as a first-party block. The current implementation includes substantial code duplication from the database block (around 15,000 lines), which would create significant maintenance challenges. As a first-party block that would be released in Affine, we need to ensure long-term maintainability and backward compatibility due to our local-first approach.

For major features like this, we typically encourage discussing the implementation approach with the core team beforehand. Historical experience has shown that large features merged without prior alignment often become challenging to maintain over time.

We would love to see this work continue as part of the blocksuite-examples repository instead. This would allow the community to benefit from your implementation while providing more flexibility for experimentation and iterations, without the constraints of first-party block maintenance requirements.

We're happy to provide guidance on moving the implementation to blocksuite-examples. Would you be interested in exploring this path forward?

yeh ,i am interested in exploring this path forward.

And, I would appreciate it if this pull request could remain open for more people to discover it .

raintoway avatar Nov 19 '24 12:11 raintoway

截屏2025-03-11 14 32 55

This is not funny

raintoway avatar Mar 11 '25 06:03 raintoway