[开源] 基于ABP,Hangfire的开源Sharepoint文件同步程序----SuperRocket.SPSync
(一)项目背景
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
- Email : (dystudio@qq.com)
- Github https://github.com/david0718/
- 博客园 http://www.cnblogs.com/david0718/
Contributors
[开源] 基于ABP,Hangfire的开源Sharepoint文件同步程序----SuperRocket.SPSync的更多相关文章
- 基于ABP框架的SignalR,使用Winform程序进行功能测试
在ABP框架里面,默认会带入SignalR消息处理技术,它同时也是ABP框架里面实时消息处理.事件/通知处理的一个实现方式,SignalR消息处理本身就是一个实时很好的处理方案,我在之前在我的Winf ...
- python基于并发与socket实现远程文件传输程序
FTP程序 Client: * bin/start.py 程序入口 * conf/配置文件存放 * core/ * auth.py 登陆,注册以及上传下载查看当前文件夹下文件以及删除功能存放 * cl ...
- 文件同步程序,Python和C写的DLL
#coding:utf-8 from ctypes import * from FileCopy import * def GetFilePathList(FilePath): dll = CDLL( ...
- gofs使用教程-基于golang的开源跨平台文件同步工具
概述 gofs是基于golang开发的一款开箱即用的跨平台文件同步工具,开源地址如下:https://github.com/no-src/gofs,欢迎点个Star或者提交Issue和PR,共同进步! ...
- [开源]基于ffmpeg和libvlc的视频剪辑、播放器
[开源]基于ffmpeg和libvlc的视频剪辑.播放器 以前研究的时候,写过一个简单的基于VLC的视频播放器.后来因为各种项目,有时为了方便测试,等各种原因,陆续加了一些功能,现在集成了视频播放.视 ...
- 分享一个基于小米 soar 的开源 sql 分析与优化的 WEB 图形化工具
soar-web 基于小米 soar 的开源 sql 分析与优化的 WEB 图形化工具,支持 soar 配置的添加.修改.复制,多配置切换,配置的导出.导入与导入功能. 环境需求 python3.xF ...
- 基于Java的四大开源测试工具
摘要:成功的应用程序离不开测试人员和QA团队反复地测试,应用程序在进行最后的部署之前,需要通过测试来确保它的负载管理能力以及在特殊情况下的工作条件和工作加载情况. %R[)vA t]N0 测试是应用程 ...
- 开源基于asio的网络通信框架asio2,支持TCP,UDP,HTTP,RPC,SSL,跨平台,支持可靠UDP,支持TCP自动拆包,TCP数据报模式等
开源基于asio的网络通信框架asio2,支持TCP,UDP,HTTP,RPC,SSL,跨平台,支持可靠UDP,支持TCP自动拆包,TCP数据报模式等 C++开发网络通信程序时用asio是个不错的选择 ...
- TriAquae 是一款由国产的基于Python开发的开源批量部署管理工具
怀着鸡动的心情跟大家介绍一款国产开源运维软件TriAquae,轻松帮你搞定大部分运维工作!TriAquae 是一款由国产的基于Python开发的开源批量部署管理工具,可以允许用户通过一台控制端管理上千 ...
随机推荐
- React-native 初始化项目很慢
我是在Mac环境下,利用facebook开源的react-native创建原生app项目缓慢的问题 一:确定自己的环境配置是否有问题 二:打开终端,输入命令行 brew install wget 点击 ...
- Ubuntu16.04安装xampp及部署Testlink
一.从官网下载xampp并安装: https://www.apachefriends.org/zh_cn/index.html chmod +x xampp-linux-x64-5.6.30-0-in ...
- 使用SevenZipSharp出现“Can not load 7-zip library or internal COM error! Message: DLL file does not exist.”的解决方案
如果你是从nuget上下载安装的SevenZipSharp库,当你写好相应代码,兴冲冲的启动程序进行测试时,以下画面会让你受到当头一棒: 究其原因,是因为SevenZipSharp只是native 7 ...
- 手机自动化测试:appium源码分析之bootstrap九
手机自动化测试:appium源码分析之bootstrap九 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣, ...
- jdk源码剖析:Synchronized
开启正文之前,先说一下源码剖析这一系列,就以"死磕到底"的精神贯彻始终,最少追踪到JVM指令(再往下C语言实现了). =========正文分割线=========== Sync ...
- 程序员带你一步步分析AI如何玩Flappy Bird
以下内容来源于一次部门内部的分享,主要针对AI初学者,介绍包括CNN.Deep Q Network以及TensorFlow平台等内容.由于笔者并非深度学习算法研究者,因此以下更多从应用的角度对整个系统 ...
- php面向对象(一)---2017-04-17
重点:定义类与实例化类:访问修饰符:构造函数 一.面向对象 面向对于与面向过程的主要区别在于:前者包含类和对象的概念 二.类和对象 1.类是由众多对象抽象(归纳总结)出来的东西 代表所有对象的特 ...
- 深度理解 Virtual DOM
目录: 1 前言 2 技术发展史 3 Virtual DOM 算法 4 Virtual DOM 实现 5 Virtual DOM 树的差异(Diff算法) 6 结语 7 参考链接 1 前言 我会尽量把 ...
- R语言写2048游戏
2048 是一款益智游戏,只需要用方向键让两两相同的数字碰撞就会诞生一个翻倍的数字,初始数字由 2 或者 4 构成,直到游戏界面全部被填满,游戏结束. 编程时并未查看原作者代码,不喜勿喷. 程序结构如 ...
- Linux密码保护
在之前写了Linux密码破解的方法,虽然这样对于忘记密码时很方便,但同时别人也可以很轻易的破解你的Liunx虚拟机,安全问题存在隐患. 下面给出一些Liunx密码的安全防护操作: 1.防止破解root ...