[開源] 基於ABP,Hangfire的開源Sharepoint文件同步解決方案----SuperRocket.SPSync


(一)項目背景


      Sharepoint是微軟的一個產品,很多公司都在使用它,也有很多公司以前使用它,現在可能需要移植到別的平台,也可能只是移植其中的文件存儲,比如說移植到微軟雲,或者亞馬遜雲存儲。SuperRocket.SPSync,就是在類似這樣的背景下,應運而生。目前實現的功能主要是同步sharepoint上的文件存儲到自己的服務器,同時支持同步到亞馬遜雲存儲。計划后期可以加入別的存儲,比如說Azure雲存儲。

      SuperRocket.SPSync 基於asp.net著名的項目- abp 和 SuperRocket.OrchardSuperRocket.Orchard 也是一個基於abp的項目模板,支持asp.net mvc開發和asp.net webapi開發.

(二)架構圖如下


 

 

(三)序列圖如下


 

 

(四)如何運行?


 

  1. 您需要安裝visual studio 2015 update 3 或者 visual studio 2017;

  2. 下載代碼或者克隆代碼到本地, 地址 : https://github.com/AccentureRapid/SuperRocket.SPSync.git ;

  3. 在 visual studio 中打開項目解決方案文件, 如圖:

 

  1. 在sql server 中創建數據庫,並切修改在web.config中修改連接字符串,這個數據庫會用來存儲用戶信息,租戶信息和 Hangfire jobs的信息, 連接字符串如下圖:

  1. 打開visual studio的 Package Manager Console, 並且確認 "SuperRocket.Orchard.EntityFramework" 作為默認項目被選中. 在visual studio的解決方案管理器里, 確認 "SuperRocket.Orchard.Web" 被設置成起始項目. 然后運行命令 "update-database -verbose" 執行數據庫的初始化工作.

  1. 在App_Data文件夾里設置 sharepoint 的配置文件,如圖:

  1. 如果您想要把Sharepoint的文檔庫同步到AWS S3. 需要修改web.config的亞馬遜雲的配置節點, 如圖:

  1. 在IIS中創建一個站點,並且設置目錄到您的站點. 在瀏覽器中打開: http://localhost:8083/ ,默認用戶是 admin, 密碼 123qwe. 成功運行您可以看到下圖:

  1. 在瀏覽器中打開 : http://localhost:8083/hangfire ,如下圖,為Hangfire的job管理監控頁面。

  1. 使用 Postman 去觸發同步文檔的任務,地址 :http://localhost:8083/api/services/app/sharePointSyncService/EnqueueSharepointSyncJob 就是如此簡單! 您可以在hangfire的管理界面管理和監控任務。

有用的鏈接:

聯系我:

Contributors


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM