Multi-Object Reporting in Content Management via Indexed ID Joins

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing content management systems lack flexibility in reporting, often requiring users to use third-party tools or inflexible built-in reporting tools that can only handle data per document, making it difficult to correlate and report real-time data from complex objects.

Innovation Solution

A method for reporting multiple objects in a content management system that involves storing objects in a storage device, receiving a report type definition, generating a multi-object query language statement, dissecting it into individual queries, and using indexed access to extract IDs, allowing for flexible reporting of complex data relationships.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a third-party reporting tool is used, then reporting flexibility is improved, but system complexity and data migration requirements increase

Engineering Contradiction:
Improvereporting flexibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments reporting functionality into separate report type definitions that can be independently configured and combined. Each report type defines specific objects and relationships, allowing flexible reporting without requiring a complete separate reporting system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The reporting tool is designed to be universal by supporting multiple object types (documents, workflows, custom objects) and relationship types within a single system. This eliminates the need for third-party tools while maintaining reporting flexibility.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Device complexity

If built-in reporting tool is used, then system integration is improved, but reporting flexibility deteriorates

Engineering Contradiction:
Improvesystem integrationVSAvoidreporting flexibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The reporting system is made dynamic by allowing users to define custom report types with flexible object and relationship configurations. The system adapts to different reporting needs through parameterized query generation rather than fixed report templates.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system uses parameter changes to achieve flexibility by allowing report type definitions to specify different objects, relationships, and query parameters. This enables the same reporting infrastructure to handle diverse reporting scenarios without sacrificing integration.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If data is stored per document, then data organization is improved, but multi-object correlation capability deteriorates

Engineering Contradiction:
Improvedata organizationVSAvoidmulti-object correlation capability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The system introduces an intermediary layer of report type definitions and query language statements that enable correlation between documents, workflows, and custom objects. This intermediary layer translates simple per-document storage into complex multi-object relationships without changing the underlying data organization.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If complex objects are used to store data, then data modeling flexibility is improved, but query and reporting complexity increases

Engineering Contradiction:
Improvedata modeling flexibilityVSAvoidquery complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system extracts the complexity of querying complex objects by separating data storage from query logic. Report type definitions and query language statements extract the essential correlation needs from complex object models, simplifying the querying process while maintaining data modeling flexibility.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9619533B2System and method for reporting multiple objects in enterprise content management
Publication Date: 2017.04.11 VEEVA SYSTEMS INC
  • US9619533B2 patent drawing
  • US9619533B2 patent drawing
  • US9619533B2 patent drawing

AI summary

Systems and methods for multi-object reporting in a content management system. A report type definition may define which objects are involved and how they are related. A report execution engine may generate a multi-object query language statement to translate the report type definition into query language. A query language execution engine may break the query language statement down into separate single pieces. A cost optimization engine may determine if it is cost efficient to join the objects. An indexed access execution engine may extract unique IDs of the objects and join the unique IDs to generate an index. A Lucene based search engine may be accessed according to the index, and the response is post processed to generate a multi-object report.