Add-in Data Persistence via Document Properties
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage methods in document-based software applications, such as Microsoft Word, are inefficient and prone to errors, including slow performance, data corruption, and compatibility issues across different applications, especially when using fields or XML for storing supplemental data.
Innovation Solution
An add-in module with rich item stores and a data store that allows for in-memory storage and retrieval of data, using bookmarks to maintain associations within the document, enabling efficient storage and retrieval of formatted text, images, and other data types without modifying the visible content, and supporting serialization and deserialization processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If fields or XML are used to store supplemental data in documents, then data can be stored during one editing session and retrieved in subsequent sessions, but the insertion process becomes extremely slow and can take a minute or more for a thousand fields
Solution Approach 1:
The patent extracts the data storage function from the visible document body by using document properties and metadata areas instead of inserting fields or XML into the document content. This separates the supplemental data storage from the main document editing flow, allowing fast property assignment without slow field insertion operations.
Solution Approach 2:
The patent introduces document properties as an intermediary layer between the add-in and the document content. Instead of directly inserting fields into the document body, the add-in stores data in document properties which act as a mediator, providing both persistence and fast access without interfering with the visible document content.
2Reliability
If fields are inserted into the document body to store supplemental data, then data can be associated with document content, but the fields may become disconnected from the associated text if the text is moved
Solution Approach 1:
The patent segments the document into two independent parts: the visible document content and the supplemental data stored in document properties. This segmentation allows the document content to be freely moved and edited without affecting the supplemental data, as the data is not physically tied to specific text locations but rather stored independently in document properties.
3Reliability
If fields are used to store formatted text, then supplemental data can be stored, but the stored text may be inadvertently altered when formatting is applied to surrounding text
Solution Approach 1:
The patent extracts formatted text from the visible document body and stores it in document properties instead of using fields in the document content. This extraction protects the formatted text from being inadvertently altered by formatting operations applied to surrounding text, as the data resides in a separate namespace that is not affected by document formatting changes.
4Adaptability or versatility
If multiple add-in applications simultaneously modify document contents, then additional functionality is provided, but performance problems occur including dramatic slowdowns, alteration or corruption of document contents, or crashing
Solution Approach 1:
The patent uses document properties as an intermediary storage mechanism that multiple add-ins can access simultaneously without conflicting with each other. Each add-in can store its supplemental data in the document properties namespace without interfering with other add-ins' data or the main document content, preventing corruption and crashes that occur when multiple add-ins directly modify document content.
5Loss of information
If field codes are displayed to show supplemental data, then users can see stored information, but users may edit them by hand resulting in loss of data or corruption
Solution Approach 1:
The patent extracts supplemental data from the visible document content and stores it in document properties, which do not display field codes in the document body. This extraction prevents users from seeing and inadvertently editing field codes, as the data is stored in a non-visible namespace that cannot be directly edited by users through normal document editing operations.
Data Source
AI summary
A method and system for storing data used by an add-in application in, or associated with, a document. Document-based applications, such as Microsoft® Word and Corel® WordPerfect®, can be functionally enhanced with third-party add-ins. Present methods of storing data in a document body can slow down the document-based application processing significantly as the document grows large and the data associated with the add-in or document application also grows. Other current methods use auxiliary files, which means that the auxiliary files must be kept with the document. The presented method and system enable efficient add-in storage in a document, without substantial slow-down in performance or interference with the user's ability to manipulate the document. Because data is stored within the document itself, the document can be shared without losing data used by the add-in application.


