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

Proposal for OOXML Extension to Support Interactive UUID Widgets #333

Open
sergeyprokhorenko opened this issue Mar 2, 2025 · 0 comments

Comments

@sergeyprokhorenko
Copy link

With the recent publication of RFC 9562, which standardized UUIDv7 for use as primary keys in databases and distributed systems, and with the implementation of UUIDv7 in PostgreSQL and other DBMS and programming languages, UUIDs have become extremely popular.

However, their canonical lengthy textual representation is inconvenient. Many attempts to reduce its length using different encodings have been unsuccessful. This proposal introduces an interactive UUID widget for Office Open XML (OOXML) to fundamentally reimagine UUID representation. Instead of textual encodings, UUIDs would be embedded into documents as single-character graphical elements.

Additionally, this proposal makes it much easier to copy UUIDs because it is impossible to select an entire UUID with mouse clicks.

Core Functional Requirements

Visual Representation

  • UUIDs should be represented by a single Unicode character ◘ (U+25D8, inverse bullet) rendered in #50A5FF (light blue).
  • Optional substitution with dynamically generated identicons (e.g., SVG-based patterns) for visual distinction between UUIDs.

Interactive Behavior

Hover Activation

Right-Click (or Tap and Hold)

  • Copy UUID, description and hyperlink to clipboard
  • Display a tooltip

Copy Canonical UUID Text Representation to Clipboard

  • Copy UUID to clipboard
  • UUID validation

Left -Click (or Tap)

  • Insert the UUID widget into the hypertext document, accompanied by an undo notification to prevent accidental insertions
  • Or insert the UUID in canonical UUID text representation (e.g., 01954431-f01a-7094-9612-da3fb99f16d1) into the plain text document

Find UUID in Document

  • Select all such particular UUIDs and corresponding UUID widgets in the document

Opening a document in applications that do not support the proposed OOXML Extension

  • Displaying UUID in canonical UUID text representation

Tooltip Content

  • Canonical UUID text representation
  • Dynamically generated identicon corresponding to this particular UUID
  • UUID version and variant metadata extracted from UUID
  • Date and time extracted from the UUID timestamp (for time-ordered UUIDs)
  • Description field (editable)
  • Hyperlink field (editable)
  • Context menu

Context Menu Items

  • Search/replace across document or external systems (local databases, web)
  • Follow the hyperlink
  • Toggle between character ◘ and identicon views across document
  • Delete

Benefits

  • Reduced Visual Clutter: Eliminates lengthy UUID strings from document.
  • Enhanced Usability: One-click access to UUID manipulation tools accelerates workflows in technical documentation, software specifications, and asset tracking.
  • Interoperability: Compatible with existing UUIDv4/v7 standard (RFC 9562).

Sergey Prokhorenko
Mentioned contributor to RFC 9562 "Universally Unique IDentifiers (UUIDs)"
Email: [email protected]

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

No branches or pull requests

1 participant