(一)項目背景
Sharepoint是微軟的一個產品,很多公司都在使用它,也有很多公司以前使用它,現在可能需要移植到別的平台,也可能只是移植其中的文件存儲,比如說移植到微軟雲,或者亞馬遜雲存儲。SuperRocket.SPSync,就是在類似這樣的背景下,應運而生。目前實現的功能主要是同步sharepoint上的文件存儲到自己的服務器,同時支持同步到亞馬遜雲存儲。計划后期可以加入別的存儲,比如說Azure雲存儲。
SuperRocket.SPSync 基於asp.net著名的項目- abp 和 SuperRocket.Orchard. SuperRocket.Orchard 也是一個基於abp的項目模板,支持asp.net mvc開發和asp.net webapi開發.
(二)架構圖如下
(三)序列圖如下
(四)如何運行?
-
您需要安裝visual studio 2015 update 3 或者 visual studio 2017;
-
下載代碼或者克隆代碼到本地, 地址 : https://github.com/AccentureRapid/SuperRocket.SPSync.git ;
-
在 visual studio 中打開項目解決方案文件, 如圖:
- 在sql server 中創建數據庫,並切修改在web.config中修改連接字符串,這個數據庫會用來存儲用戶信息,租戶信息和 Hangfire jobs的信息, 連接字符串如下圖:
- 打開visual studio的 Package Manager Console, 並且確認 "SuperRocket.Orchard.EntityFramework" 作為默認項目被選中. 在visual studio的解決方案管理器里, 確認 "SuperRocket.Orchard.Web" 被設置成起始項目. 然后運行命令 "update-database -verbose" 執行數據庫的初始化工作.
- 在App_Data文件夾里設置 sharepoint 的配置文件,如圖:
- 如果您想要把Sharepoint的文檔庫同步到AWS S3. 需要修改web.config的亞馬遜雲的配置節點, 如圖:
- 在IIS中創建一個站點,並且設置目錄到您的站點. 在瀏覽器中打開: http://localhost:8083/ ,默認用戶是 admin, 密碼 123qwe. 成功運行您可以看到下圖:
- 在瀏覽器中打開 : http://localhost:8083/hangfire ,如下圖,為Hangfire的job管理監控頁面。
- 使用 Postman 去觸發同步文檔的任務,地址 :http://localhost:8083/api/services/app/sharePointSyncService/EnqueueSharepointSyncJob 就是如此簡單! 您可以在hangfire的管理界面管理和監控任務。
有用的鏈接:
聯系我:
- QQ: 1023080982
- QQ群:149385300
- Email : (dystudio@qq.com)
- Github https://github.com/david0718/
- 博客園 http://www.cnblogs.com/david0718/