Skip to content

Entity Relationships

An overview of how the 10 entities relate to each other.

⚠️ The Most Important Relationship Fact (Read First)

Section titled “⚠️ The Most Important Relationship Fact (Read First)”

YYNote’s “Lists” are not content ownership containers — they are “tag-filtered views” of content. And there are two independent types of lists:

List TypeWhat It IsWhat It Contains
To-Do ListA tag-filtered “to-do view”Only to-dos
Sticky Note ListA tag-filtered “sticky note view”Only sticky notes

What this means in practice:

  • A sticky note / to-do does not belong to any list (lists are “views,” not “containers”)
  • A sticky note / to-do can have multiple tags
  • A list = a set of tag filtering rules (saved search)
  • The same sticky note / to-do can appear in multiple lists simultaneously (because it may match multiple lists’ tag rules)
  • Saying “move a sticky note to another list” is inaccurate — the accurate phrasing is “modify the sticky note’s tags so it appears in different lists”
  • The two list types (to-do lists / sticky note lists) do not interfere with each other: deleting one doesn’t affect the other, and they can’t contain each other’s content
┌──────────┐
│ Account │ ← User identity (must log in to use)
└────┬─────┘
┌────────────────────────────────────────────┐
│ YYNote Data Space │
│ │
│ ┌────────────────┐ ┌────────────────┐ │
│ │ To-Do List │ │ Sticky Note │ │
│ │ (To-Do View) │ │ List │ │
│ │ Tag-Filtered │ │ (Note View) │ │
│ └────────┬───────┘ │ Tag-Filtered │ │
│ │ └───────┬────────┘ │
│ │ Filter │ Filter │
│ ▼ ▼ │
│ ┌────────┐ ┌────────┐ │
│ │ To-Dos │ │ Sticky │ │
│ │ │ │ Notes │ │
│ └───┬────┘ └────┬───┘ │
│ │ │ │
│ │ Attached │ Attached │
│ ▼ ▼ │
│ ┌─────────────────────┐ │
│ │ Tags │ │
│ └─────────────────────┘ │
│ │
│ To-Do side also connects to: │
│ ├► Recurring To-Do Rules (generate new │
│ │ to-dos by rule) │
│ └► Third-Party Calendar Events │
│ (read-only display) │
│ │
└────────────────────────────────────────────┘
│ Sync
Other Devices

Correction note: Earlier versions depicted a “List ↔ Sticky Note/To-Do ownership relationship,” which is wrong. The correct relationship is “List ← Tag Rules → Sticky Note/To-Do.”

  • Relationship: Many-to-many
  • Attachment method: Both sticky notes and to-dos can have multiple tags
  • Deleting a tag: Automatically removes the association from all attached sticky notes/to-dos (sticky note and to-do content is preserved)
  • UI entry: Tag management + “Add Tag” on the content edit page
  • Relationship: A to-do list = a set of tag filtering rules; to-dos are “presented” in the list by matching tags
  • Filtering logic (customer-friendly version):
    • List tag rule = “All” → the list shows all to-dos
    • List tag rule = “Untagged” → only shows to-dos without tags
    • List tag rule = specific tags → only shows to-dos that have any of these tags
  • The same to-do can appear in multiple to-do lists
  • “Move to another list” is essentially modifying tags
  • UI entry: Click different to-do lists in the sidebar — the content area switches display

Sticky Note List ← Tags → Sticky Notes 🟢

Section titled “Sticky Note List ← Tags → Sticky Notes 🟢”
  • Relationship: A sticky note list = a set of tag filtering rules; sticky notes are “presented” in the list by matching tags
  • Filtering logic: Same as to-do lists
  • The same sticky note can appear in multiple sticky note lists
  • “Move to another list” is essentially modifying tags
  • UI entry: Click different sticky note lists in the sidebar — the content area switches display
  • The two list types do not interfere with each other:
    • Deleting a to-do list does not affect sticky note lists, and vice versa
    • To-do lists will never show sticky notes, and sticky note lists will never show to-dos
  • The two list types have independent configurations: To-do lists have settings like “Show Lunar Calendar / Hide Schedule,” while sticky note lists have settings like “Hide Sticky Note Time / Hide Sticky Note Tags”
  • Relationship: One-to-many (one rule → multiple generated to-dos)
  • Generation mechanism: Daily scan of all rules → match today → check if already created today → if not, actually create a to-do in the list
  • Deleting a rule: Previously generated to-dos are not cleaned up (they are independent data records)
  • UI entry: Recurring to-do management page

To-Dos ↔ Third-Party Calendar Events 🟡

Section titled “To-Dos ↔ Third-Party Calendar Events 🟡”
  • Relationship: One-to-one (each third-party calendar event is displayed as a “read-only to-do”)
  • Direction: One-way (pulled from external calendar into YYNote)
  • UI exposure:
    • Calendar layer (subscription source): Can create, delete, modify, view
    • Event layer: View-only (must edit in the original calendar service)
  • Relationship: Zero-or-one to one (an account can exist without membership)
  • Binding: Membership is bound to the account, not the device
  • Activation method: New users get 7-day membership upon registration (consistent across all platforms)
  • Membership differentiators: Not about quantity caps — it’s that certain features are membership-only (desktop weather, third-party calendar sync, third-party calendar event local notifications, advanced desktop widget layouts, etc.)
  • Expiry behavior: Returns to “non-member” status, all data retained (features locked, data can be exported via PC client); account does not become invalid
  • Data ownership: Data always belongs to the user and can be exported at any time
  • Relationship: Enabled upon login
  • Not logged in: YYNote cannot be used (login dialog pops up immediately when not logged in)
  • Conflict strategy: Later-saved overwrites earlier-saved + data with uncommitted local modifications is not overwritten

Key “Easily Confused Relationships” Comparison

Section titled “Key “Easily Confused Relationships” Comparison”
DimensionTo-Do ListSticky Note List
ContainsOnly to-dosOnly sticky notes
IsA tag-filtered “to-do view”A tag-filtered “sticky note view”
Mutual non-interferenceDeleting this doesn’t affect sticky note listsDeleting this doesn’t affect to-do lists
Quantity limit❌ Unlimited (both members and non-members can create unlimited lists)❌ Unlimited (both members and non-members can create unlimited lists)
DimensionList (To-Do / Sticky Note)Tag
What it isA set of tag filtering rules (view)A content marker
QuantityUsers can create multiple listsUsers can create multiple tags
Relationship”List ← Tag Rules → Content""Content ↔ Tag” (many-to-many attachment)
DeletionDeleting a list does not affect the content itselfDeleting a tag only removes the attachment
Cross-contentSame content can appear in multiple listsSame content can have multiple tags
Quantity limit❌ Unlimited (both members and non-members can create unlimited items)❌ Unlimited (both members and non-members can create unlimited items)
DimensionRecurring To-Do RuleTo-Do
What it isA periodic generation ruleA specific task item
LifecycleLong-lived (until user deletes it)One-off (can be restored to incomplete after completion)
Mutual deletion impactDeleting a rule does not affect already-generated to-dosDeleting a to-do does not affect the rule
Generation relationshipScans rules daily, if matched, actually creates a to-doThe to-do itself records “which rule it came from”
OperationApplicable ToRecoverable?UI Entry
DeleteSticky notes / to-dos / tags / to-do lists / sticky note lists❌ Irrecoverable”Delete” button on each detail page
ArchiveSticky notes only✅ One-click recoverable”Archive” button on sticky note widget + “Restore” button in archive area
CompleteTo-dos only✅ One-click recoverable”Complete” checkbox on to-do + “Restore” button in completed area

Special Warning: YYNote has no “recycle bin” / “deleted items” tab. There are related methods in the code but the UI does not invoke them (suspected dead code). User-deleted content cannot be recovered within the product.

The only remedy: Before deletion, users can use the “Export Deleted Records” feature to generate a 小黄条已删除记录YYYYMMDD.xlsx backup file.

Last updated: