Some content of this application is unavailable at the moment.
If this situation persist, please contact us atFeedback&Contact
1. (WO2019006556) SYSTEMS AND METHODS FOR CONTENT SHARING THROUGH EXTERNAL SYSTEMS
Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

WHAT IS CLAIMED IS:

1. A method for content sharing through external systems, comprising:

receiving, by a sharing module, an instruction to publish a share to an external system, the share representing a folder or directory in a managed repository, the sharing module running on a server machine operating in an enterprise computing environment, the managed repository residing in the enterprise computing environment, the external system operating independently and external to the managed repository, the server machine having a processor and a non-transitory computer readable medium; and

publishing, by the sharing module from the managed repository to the external system, objects in the share and metadata associated with the objects, the publishing including:

making a first application programming interface (API) call to retrieve the objects and the metadata from the share in the managed repository; and

making a second API call to communicate the objects and the metadata to the external system;

wherein the first API call is made through a first sharing module API and a repository API, the first sharing module API interfacing the sharing module and the repository API, the repository API interfacing the first sharing module and the managed repository;

wherein the second API call is made through a second sharing module API and an external system API, the second sharing module API interfacing the sharing module and the external system API, the external system API interfacing the second sharing module API and the external system; and

wherein the repository API, the first sharing module API, the second sharing module API, and the external system API together provide a one-to-one mapping of communications protocols used by the managed repository and the external system.

2. The method according to claim 1 , wherein the instruction is received automatically and programmatically from a scheduler in accordance with a share profile defined by an administrator of the managed repository, the share profile comprising content sharing rules applicable to the share, the scheduler running on the server machine.

3. The method according to claim 1 , further comprising:

responsive to the instruction to publish the share to the external system, building, by a graph building running on the server machine, a first graph for the share, the first graph containing nodes representing the objects in the share;

subsequent to the publishing, syncing, by the sharing module, the share in the managed repository and the shared published to the external system by the sharing module, the syncing returning an update to the share from the managed repository or the external system, or updates from both the managed repository and the external system;

building, by the graph builder, a second graph for the share based on a result from the syncing;

detecting, by an analyzer running on the server machine, any change to the share by comparing the first graph for the share and the second graph for the share;

determining, by the analyzer, whether any change to the share causes a versioning conflict for an object in the share; and

if a versioning conflict for an object in the share is found, communicating, by the analyzer, conflicting versions of the object involved in the versioning conflict to a conflict resolver for conflict resolution.

4. The method according to claim 3, wherein conflict resolution comprises:

renaming a file extension of a first version of the conflicting versions of the object to thereby change a file type of the first version;

presenting at least the first version of the object to a user through a user interface running on a user device;

prompting the user to make a selection, through the user interface, on one of the conflicting versions of the object; and

determining a resolved version of the object based on the user selection, wherein the resolved version of the object is synced back to the managed repository, the external system, or both.

5. The method according to claim 1, further comprising:

building a graph for the share, the graph containing nodes representing the objects in the share; and

tracking any changes to the objects in the share using the graph.

6. The method according to claim 5, further comprising:

detecting a change to a file in the share using the graph;

analyzing the change to the file;

determining, based on the analyzing, that the change to the file presents a conflict between the file in the managed repository and a version of the file published to the external system; and

resolving the conflict between the file in the managed repository and the version of the file published to the external system, the resolving comprising creating a conflict version of the file based on the version of the file published to the external system, the conflict version of the file having a conflict file type.

7. The method according to claim 6, further comprising:

notifying a user of the conflict between the file in the managed repository and the version of the file published to the external system; or

sending the conflict version of the file to the user for conflict resolution.

8. The method according to claim 1 , wherein the metadata associated with the objects are generated in an information system that manages the managed repository and wherein the metadata provide context to the objects.

9. The method according to claim 1 , wherein the external system is one of a plurality of external systems connected to the managed repository through the sharing module, each external system of the plurality of external systems having a one-on-one mapping between the managed repository and the each external system through a pair of sharing module APIs, the repository API specific to the managed repository, and an external system API specific to the each external system.

10. The method according to claim 9, wherein the managed repository is one of a plurality of managed repositories connected to the sharing module, each managed repository of the plurality of managed repositories connected to the sharing module through a repository API specific to the each managed repository and a sharing module API.

11. A system for content sharing through external systems, comprising:

a server machine operating in an enterprise computing environment, the server machine having a processor, a non-transitory computer readable medium, and stored instructions translatable by the processor for implementing a sharing module, the server machine connected to a managed repository residing in the enterprise computing

environment and an external system operating independently and external to the managed repository, the sharing module configured for:

receiving an instruction to publish a share to the external system, the share representing a folder or directory in the managed repository; and

publishing, from the managed repository to the external system, objects in the share and metadata associated with the objects, the publishing including:

making a first application programming interface (API) call to retrieve the objects and the metadata from the share in the managed repository; and

making a second API call to communicate the objects and the metadata to the external system;

wherein the first API call is made through a first sharing module API and a repository API, the first sharing module API interfacing the sharing module and the repository API, the repository API interfacing the first sharing module and the managed repository;

wherein the second API call is made through a second sharing module API and an external system API, the second sharing module API interfacing the sharing module and the external system API, the external system API interfacing the second sharing module API and the external system; and

wherein the repository API, the first sharing module API, the second sharing module API, and the external system API together provide a one-to-one mapping of communications protocols used by the managed repository and the external system.

12. The system of claim 11 , wherein the instruction is received automatically and programmatically from a scheduler in accordance with a share profile defined by an administrator of the managed repository, the share profile comprising content sharing rules applicable to the share, the scheduler running on the server machine.

13. The system of claim 11 , wherein the stored instructions are further translatable by the processor for:

responsive to the instruction to publish the share to the external system, building a first graph for the share, the first graph containing nodes representing the objects in the share;

subsequent to the publishing, syncing the share in the managed repository and the shared published to the external system, the syncing returning an update to the share from the managed repository or the external system, or updates from both the managed repository and the external system;

building a second graph for the share based on a result from the syncing;

detecting any change to the share by comparing the first graph for the share and the second graph for the share;

determining whether any change to the share causes a versioning conflict for an object in the share; and

if a versioning conflict for an object in the share is found, communicating conflicting versions of the object involved in the versioning conflict to a conflict resolver for conflict resolution.

14. The system of claim 13, wherein conflict resolution comprises:

renaming a file extension of a first version of the conflicting versions of the object to thereby change a file type of the first version;

presenting at least the first version of the object to a user through a user interface running on a user device;

prompting the user to make a selection, through the user interface, on one of the conflicting versions of the object; and

determining a resolved version of the object based on the user selection, wherein the resolved version of the object is synced back to the managed repository, the external system, or both.

15. The system of claim 11 , wherein the stored instructions are further translatable by the processor for:

building a graph for the share, the graph containing nodes representing the objects in the share; and

tracking any changes to the objects in the share using the graph.

16. The system of claim 15, wherein the stored instructions are further translatable by the processor for:

detecting a change to a file in the share using the graph;

analyzing the change to the file;

determining, based on the analyzing, that the change to the file presents a conflict between the file in the managed repository and a version of the file published to the external system; and

resolving the conflict between the file in the managed repository and the version of the file published to the external system, the resolving comprising creating a conflict version of the file based on the version of the file published to the external system, the conflict version of the file having a conflict file type.

17. The system of claim 16, wherein the stored instructions are further translatable by the processor for:

notifying a user of the conflict between the file in the managed repository and the version of the file published to the external system; or

sending the conflict version of the file to the user for conflict resolution.

18. The system of claim 11 , wherein the metadata associated with the objects are generated in an information system that manages the managed repository and wherein the metadata provide context to the objects.

19. The system of claim 11 , wherein the external system is one of a plurality of external systems connected to the managed repository through the sharing module, each external system of the plurality of external systems having a one-on-one mapping between the managed repository and the each external system through a pair of sharing module APIs, the repository API specific to the managed repository, and an external system API specific to the each external system.

20. The system of claim 19, wherein the managed repository is one of a plurality of managed repositories connected to the sharing module, each managed repository of the plurality of managed repositories connected to the sharing module through a repository API specific to the each managed repository and a sharing module API.