A method for content sharing through external systems, comprising: receiving, through a user interface, UI, of a content server running on a server machine, an indication from a user of the content server to share an item (118, 202, 204, 206, 208) with a user (251, 253, 255) of an external system (130, 140, 230), the item (118, 202, 204, 206, 208) stored in a repository (125, 225) managed by the content server in a first computing environment, the external system (130, 140, 230) operating in a second computing environment that is separate from and external to the first computing environment; responsive to the indication from the user (251, 253, 255) of the content server in the first computing environment to share the item with the user (251, 253, 255) of the external system (130, 140, 230) in the second computing environment, making a copy (208-C) of the item; sending, by the content server in the first computing environment, information identifying the user (251, 253, 255) of the external system (130, 140, 230) and the copy (208-C) of the item to the external system (130, 140, 230) in the second computing environment; establishing, by the content server in the first computing environment, a link between the item in the repository in the first computing environment and the copy (208-C) of the item in the external system in the second computing environment, the establishing including associating the item in the repository in the first computing environment and the copy (208-C) of the item in the external system in the second computing environment through a tracking data structure maintained by the content server, the link revocable by the content server in the first computing environment; locking, by the content server in the first computing environment, the item in the repository to prevent editing in the first computing environment; and updating, by the content server in the first computing environment, the UI to indicate that the item in the repository is now shared and locked from editing in the first computing environment. receiving, through a user interface, UI, of a content server running on a server machine, an indication from a user of the content server to share an item (118, 202, 204, 206, 208) with a user (251, 253, 255) of an external system (130, 140, 230), the item (118, 202, 204, 206, 208) stored in a repository (125, 225) managed by the content server in a first computing environment, the external system (130, 140, 230) operating in a second computing environment that is separate from and external to the first computing environment; responsive to the indication from the user (251, 253, 255) of the content server in the first computing environment to share the item with the user (251, 253, 255) of the external system (130, 140, 230) in the second computing environment, making a copy (208-C) of the item; sending, by the content server in the first computing environment, information identifying the user (251, 253, 255) of the external system (130, 140, 230) and the copy (208-C) of the item to the external system (130, 140, 230) in the second computing environment; establishing, by the content server in the first computing environment, a link between the item in the repository in the first computing environment and the copy (208-C) of the item in the external system in the second computing environment, the establishing including associating the item in the repository in the first computing environment and the copy (208-C) of the item in the external system in the second computing environment through a tracking data structure maintained by the content server, the link revocable by the content server in the first computing environment; locking, by the content server in the first computing environment, the item in the repository to prevent editing in the first computing environment; and updating, by the content server in the first computing environment, the UI to indicate that the item in the repository is now shared and locked from editing in the first computing environment.