Content Item GUIDs for Stable Share Links
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network-based content management systems face issues with maintaining relationships between original and copied, moved, or renamed content items, as share links break when directory structures change, and third-party developers struggle to reference specific content items and their revisions without knowing their location.
Innovation Solution
Assigning a globally unique identifier (GUID) to each content item at creation, which is preserved across edits, moves, and renames, allowing the content management system to maintain associations and enable third-party developers to reference items independently of their location, using a combination of randomly generated extended file attributes and volume identifiers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Stability of the object's composition
If content item paths and directory structures are used to identify content items, then the directory structure reflects content item relationships, but share links break when content items are moved or renamed
Solution Approach 1:
The identifier system is segmented into two parts: a stable GUID that remains constant for a content item, and a dynamic path component that reflects the current location. This segmentation allows the GUID to maintain stable share links while the path component adapts to moves and renames.
Solution Approach 2:
The GUID acts as an intermediary between the content item and the share link. Instead of directly linking to the path (which changes), the share link points to the GUID, which serves as a stable mediator that resolves to the current content item location.
2Adaptability or versatility
If content item paths are used in hierarchical directory structure, then location information is provided, but third party developers must know the location to reference content items
Solution Approach 1:
The GUID provides a universal reference mechanism that works across different contexts and locations. Developers can reference content items using the GUID without needing to know the specific path or location, making the reference system versatile and location-independent.
Solution Approach 2:
The location information is extracted from the reference mechanism. Instead of embedding the path in the reference (which requires knowledge of location), the path information is separated out, and only the GUID is needed for referencing, simplifying the developer's task.
3Reliability
If a single GUID is assigned to content items, then relationships are maintained across moves and renames, but it is difficult to distinguish original content from copied content
Solution Approach 1:
The identifier system is made dynamic by introducing version numbers and timestamps to the GUID structure. While the base GUID remains stable for relationship maintenance, the dynamic components (version, timestamp) allow differentiation between original and copied content, and between different revisions.
Solution Approach 2:
Metadata such as creation timestamps, version numbers, and parent item references are preliminarily attached to the GUID when the content item is created or copied. This preliminary action ensures that origin information is preserved from the outset, allowing distinction between original and copied content while maintaining stable GUID-based relationships.
Data Source
AI summary
The disclosed technology generates unique identifiers for content items in a multi-user network-based content management system. The generated identifiers satisfy at least the properties of, (1) the GUID is unique on the local client device; (2) the GUID is preserved across reboots, moves, renames, and content item modifications; (3) the GUID is not preserved when the content item is copied; and (4) the GUID is not reused after a content item is deleted. The unique identifiers allow the content management system to model each user account as a collection of content item objects and globally unique identifiers instead of as a directory-based hierarchy of content items.


