IP Library Granted Patent US 12,229,109
Granted Patent B2
US 12,229,109 · App. 18/501,626 · Granted Feb 18, 2025

Method and system for using external content type object types

Inventors: Michael Mohen (Columbia, MD); Jeroen Mattijs van Rotterdam (Fort Lauderdale, FL); Satyapal P. Reddy (San Ramon, CA); David Humby (Richmond, CA)
Assignee: OPEN TEXT CORPORATION
G06F16/23G06F16/2291G06F16/954
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,229,109
App. No.
18/501,626
Granted
Feb 18, 2025
Kind
B2
Abstract

In general, embodiments of the technology relate to a method and system for implementing external content type (ECT) object types in a content management system (CMS). More specifically, embodiments of the technology relate to augmenting the object model with a new class of object type—an external content type (ECT) object type. The ECT object types are a class of object types that are used to manage object (referred to as managed external objects) that are located in external data systems.

Claims (87)

1. A method for servicing requests, the method comprising:

receiving, by a content management server from a requesting entity, a first request to perform an action on a first object that is stored in a content repository coupled to the content management server;

identifying, in metadata of the first object, an external control type (ECT) object type; and

in response to identifying the ECT object type in the metadata of the first object, invoking an External Data System Engine (EDSE) that services the first request by:

obtaining an ECT object definition using the identified ECT object type;

determining, based on permitted actions specified in the obtained ECT object definition, whether the requested action is permitted;

in response to determining that the action is not permitted by the ECT object definition, sending a corresponding response to the requesting entity; and

in response to determining that the action is permitted by the ECT object definition, performing the action on a managed external object referenced by the first object, the managed external object located in an external data system that is external to a system hosting the content repository.

2. The method of claim 1 ,

further comprising:

receiving, from a second requesting entity, a second request to perform the action on a second object;

making a second determination that an object type of the second object is a non-ECT object type; and

based on the second determination, servicing the second request using an object model without invoking the EDSE.

3. The method of claim 1 , wherein the first object comprises metadata, external object metadata for a first managed external object, external object metadata for a second managed external object, a first managed external object reference, and a second managed external object reference.

4. The method of claim 1 , wherein servicing the first request comprises:

obtaining content from the external data system using a managed external object reference in the first object;

modifying the content in accordance with the action to obtain modified content; and

providing the modified content to the external data system.

5. The method of claim 4 , wherein servicing the first request further comprises:

sending a request to the external data system to perform the action, wherein the request comprises a managed external object reference;

receiving, in response to the request, a confirmation that the action was performed by the external data system; and

updating at least a portion of external object metadata in the first object based on the confirmation.

6. The method of claim 1 , wherein servicing the first request comprises:

making a second determination, using the ECT object definition, that the action is permitted;

based on the second determination, using at least one connection module, to perform the action on the managed external object associated with the first object;

transmitting, using the at least one connection module, an updated managed external object back to an External Data System (EDS); and

updating an external object metadata in the ECT object.

7. The method of claim 1 , wherein servicing the first request comprises:

obtaining a context of the first request;

obtaining content from the external data system using a managed external object reference in the first object; and

performing the action, based at least in part on the context, on the content.

8. The method of claim 1 , wherein servicing the first request comprises:

generating, using at least one connection module, a request to an External Data System (EDS), the request including a managed external object reference;

receiving, by the EDSE, the managed external object;

selecting at least a portion of the managed external object;

modifying the at least the portion of the managed external object; and

sending a response that includes the at least the portion of the managed external object to a requesting entity.

9. The method of claim 1 , wherein the ECT object type enables users of the content management server to manage a plurality of managed external objects stored in external repositories that are not managed by the content management server, in a same manner as the users manage local objects, that are not ECT objects, stored in the content repository that is coupled to the content management server.

10. A non-transitory computer readable medium storing computer readable program code, which when executed by a computer processor of a content management server enables the computer processor to perform a method for servicing requests, the method comprising:

receiving, from a requesting entity, a first request to perform an action on a first object that is stored in a content repository coupled to the content management server;

identifying, in metadata of the first object, an external control type (ECT) object type; and

in response to identifying the ECT object type in the metadata of the first object, invoking an External Data System Engine (EDSE) that services the first request by:

obtaining an ECT object definition using the identified ECT object type;

determining, based on permitted actions specified in the obtained ECT object definition, whether the requested action is permitted;

in response to determining that the action is not permitted by the ECT object definition, sending a corresponding response to the requesting entity; and

in response to determining that the action is permitted by the ECT object definition, performing the action on a managed external object referenced by the first object.

11. The non-transitory computer readable medium of claim 10 , the method further comprising:

receiving, from a second requesting entity, a second request to perform the action on a second object;

making a second determination that an object type of the second object is a non-ECT object type; and

based on the second determination, servicing the second request using an object model without invoking the EDSE.

12. The non-transitory computer readable medium of claim 10 , wherein the first object comprises metadata, external object metadata for the managed external object, and a managed external object reference for the managed external object.

13. The non-transitory computer readable medium of claim 10 , wherein servicing the first request comprises:

sending a request to the external data system to perform the action, wherein the request comprises a managed external object reference; and

receiving, in response to the request, a confirmation that the action was performed by the external data system.

14. The non-transitory computer readable medium of claim 10 , wherein servicing the first request comprises:

generating, using at least one connection module, a request to an External Data System (EDS), the request including a managed external object reference;

receiving, by the EDSE, the managed external object;

selecting at least a portion of the managed external object;

modifying the at least the portion of the managed external object; and

sending a response that includes the at least the portion of the managed external object to a requesting entity.

15. The non-transitory computer readable medium of claim 10 , wherein servicing the first request comprises:

making a second determination, using the ECT object definition, that the action is permitted;

based on the second determination, using at least one connection module, to perform the action on the managed external object associated with the first object;

transmitting, using the at least one connection module, an updated managed external object back to an External Data System (EDS); and

updating an external object metadata in the ECT object.

16. A system, comprising:

a content repository storing a first object and a second object;

a content management server coupled to the content repository and programmed to:

receive, from a requesting entity, a first request to perform an action on the first object;

identify, in metadata of the first object, an external control type (ECT) object type; and

in response to identifying the ECT object type in the metadata of the first object, invoke an External Data System Engine (EDSE) that services the first request by:

obtaining an ECT object definition using the identified ECT object type;

determining, based on permitted actions specified in the obtained ECT object definition, whether the requested action is permitted;

in response to determining that the action is not permitted by the ECT object definition, sends a corresponding response to the requesting entity; and

in response to determining that the action is permitted by the ECT object definition, performing the action on a managed external object referenced by the first object, the managed external object located in an external data system that is external to a system hosting the content repository.

17. The system of claim 16 , wherein the content management server is further programmed to:

receive, from a second requesting entity, a second request to perform the action on a second object;

make a second determination that an object type of the second object is a non-ECT object type; and

based on the second determination, service the second request using an object model without invoking the EDSE.

18. The system of claim 16 , wherein the first object comprises metadata, external object metadata for the managed external object, and a managed external object reference for the managed external object.

19. The system of claim 16 , wherein servicing the first request comprises:

sending a request to the external data system to perform the action, wherein the request comprises a managed external object reference; and

receiving, in response to the request, a confirmation that the action was performed by the external data system.

20. The system of claim 16 , wherein servicing the first request comprises:

receiving, from a second requesting entity, a second request to perform the action on a second object;

making a second determination that an object type of the second object is a non-ECT object type; and

based on the second determination, servicing the second request using an object model without invoking the EDSE.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2023
From: EMC CORPORATION
To: OPEN TEXT CORPORATION
Reel/Frame 065719/0784 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2023
From: MOHEN, MICHAEL; VAN ROTTERDAM, JEROEN M.; REDDY, SATYAPAL P.; HUMBY, DAVID
To: EMC CORPORATION
Reel/Frame 065729/0130 →
Continuity (4)
Continuation 18068972 · Dec 20, 2022
Continuation 16405201 · May 7, 2019
Continuation 14755000 · Jun 30, 2015
Related Publication 20240061825A1 · Feb 22, 2024
References Cited (6)
US 10324921B1 · Mohen · 2019 [cited by examiner]
US 11567922B2 · Mohen · 2023 [cited by examiner]
US 11841842B2 · Mohen · 2023 [cited by examiner]
US 20190258621A1 · Mohen · 2019 [cited by examiner]
US 20230127388A1 · Mohen · 2023 [cited by examiner]
US 20240061825A1 · Mohen · 2024 [cited by examiner]