I have the need to move a document using Client Object Model across site collections in SharePoint Online while retaining its metadata and version history.
The sp.movecopyutil methods allows us to move files within a site collection while retaining the item metadata,moderation status and version history. However the sp.movecopyutil do not work propertly when we try to move a doucment across sites collection(Moderation status and version history are not retained).
Is there any other API or methods available to move documents across site collection while retaining the metadata, moderation status and with version history…??? If there is no standard API available for this, what would be the best way to go about achieving this move action.??
Custom action is the only option to move the data from One site to another In SPonline Provider Hosted App because you can retrieve Items easily using custom action .
We would need to achieve this move operation using CSOM. We are planning to create a custom action using Provider Hosted app which will do this move operation.
Have a look on this blog which lets you how to move/migrate SharePoint list items/documents and preserve metadata properties at the same time
Copy content from one site collection to another, preserving metadata
http://dzeee.net/sharepoint/post/2010/01/17/Copy-content-from-one-site-collection-to-another-preserving-metadata.aspx
Move Files Between Document Libraries with Metadata and Version History
http://www.sharepointdiary.com/2014/06/move-files-between-document-libraries-with-metdata-version-history.html
On-the other hand, you may also try this SharePoint migration tool to move file across site collections with version history and meta data.
Hope this helps you!