文档章节

SDPM2.0横空出世

悠悠然然
 悠悠然然
发布于 2017/01/06 14:29
字数 2944
阅读 2513
收藏 38
点赞 9
评论 15

大概在一年前(准确说是2015-12-8)我发表了博客《SDPM1.0》,当然最后比较折腾:本来只是个练习项目开源了分享给关心的同学而已,只是因为功能上参考了某开源软件,但是被某开源大神说怎么怎么侵权了,懒得扯那咸淡,于是把SDPM1.0的开源关闭了。

你以为这就结束了?但是关注过那篇博客的同学,可能会对我当时的一句话有印象,那就是:如果你要把我当成一个对手,那我一定得当一个合格的对手。

现在,差不多刚好一年,传说中的SDPM2.0横空出世了!是的,SDPM2.0来了!

需求概述

  1. 支持小到几个人的组织,大到上万人的组织
  2. 支持各种常见通知方式
  3. 支持文档库/知识库/WIKI
  4. 支持良好的社区管理
  5. 支持博客
  6. 支持项目/任务管理
  7. 支持各种资源直接无缝链接
  8. 支持全文检索
  9. 支持站内信/及时聊天
  10. 切面功能
  11. #、@功能必须要支持
  12. 一些高级特性
  13. 自定义扩展字段
  14. APP扩展能力
  15. 一些其他截图

支持或大或小的组织规模

我们都知道有的组织很小只有几个人,有的组织很大,可能上万个人也未可知。怎么同时兼顾两种应用场景呢?我们的做法是APP提供组织及应用模式和圈子级应用模式。

这样小的组织只要使用组织级模式即可,而大的组织这可以创建圈子级模式,这样大的或者小的组织都可以有适合自己的模式。

支持各种常见通知方式

短信、邮件、站内信统统支持。

当然,由于有统一的扩展机制,微信、钉钉在未来也可以通过扩展支持。

发送过程支持对人、对组、对组织,总之在这里,所有的操作模式都是一致的。

当然,有可能有的人发送不正常,那也可以在发送详情里面看得清清楚楚:

文档库/知识库/WIKI

作为一个软件人,文档类的需求必须有。

想看看文档历史情况?

看看两个版本的差异?

想恢复某个版本?小伙伴们再也不怕保存错内容了。

想导出PDF?全部导出,自定义导出随便选择:

导出过程一目了然,Confluence导出需要N多分钟的,这里只要一点点的时间。

下面是实际导出TINY文档的时间是61.7秒

从网站下载都要40多秒

实际上导出的是1378页的大部头

排序不合理,要调整?只要拖动即可

想进行权限管理?

各种控制方式,总有一款适合你。

我才不会告诉你这里有许多扩展功能呢,而且保不齐哪天就有出来新的功能了。(这些扩展功能专项会介绍)

需要支持良好的社区管理

作为一个大的组织,怎么能没有自己的社区?

多层级的版面支持,可以一致建下去哦:

想快速进入某个版面?传送门可以送你直达

论坛文章也可有有历史?

版本比较:

小伙伴们再也不担心没有办法回退到修改之前的内容了。

支持博客

公共分类和私有分类支持

当然博客导出也是必须支持的。

105页的博客导出只要4.1秒。

当然,博客的页面历史也一样支持

需要支持项目/任务管理

做软件,怎么可以没有项目和任务管理?想建多少项目还不是你自己说了算?

任务看板是怎么样的?所有的泳道都可以自己管理。

任务详情页可以方便的进行各种任务相关操作。

当然切面上的功能依然存在

只想看部分人的任务?只要简单过滤即可

当然这块内容是刚刚出来,后面还会增加各种有用的图表。

各种资源直接无缝链接

看到上面截图的同学可能看多这么一个东东:

所有的资源,都可以通过相关性和标签进行关联。

一旦打上标签或建立连接:

就可以通过关系图来进行内容遍历:

当然也可以通过标签云进行内容遍历,可以看全部,也可看某个类型的内容

也可以根据已知的标签进行快速查找。

也可以快速把标签进行合并:

支持全文检索

还在用like,这也太OUT了吧?!必须全面支持全文检索。

只要知道一点信息,就可以快速定位你想要的信息。

页面头可以搜索定位所有内容:

进入全文检索,页面,也可以只搜索指定类型的内容:

在文档空间里面可以只搜索本空间的内容

在博客里面,可以只搜索博客的内容

在我的博客里可以只搜索我写的博客

总结一下就是:

提供了不同场景、不同类型、不同人物的搜索范围,使得搜索结果更精准、有效。

支持站内信/及时聊天

站内信现在还是非常通用的一个功能。

我们把站内信个及时聊天合并在了一起,如果只有一个人在线就是站内信,如果是两个人同时在线,就可以有来有往聊个热火朝天了。

切面功能

这里先解释一下什么是切面。

本系统中,把通用的、许多引用里面都应该有的功能叫做切面功能,而对应与要显示这些切面功能的地方,就叫切面。这里的切面和我们常说的AOP理念相识,但是实现层次是功能级别的。

这样,在实现层面可以一次开发到处使用,而且可以在未来透明的增加或者删减切面功能。

比如,我们认为许多资源都需要有浏览情况,关注情况,赞、踩情况、评论情况

OK,我们认为这些功能如果有,那么其操作方式一定是相关的,而且我在哪个业务里实现也是一样的。于是,我们就提取了这些功能为切面功能。这样在操作体验、易开发性、易维护性方面都会有非常多的好处。我只要开发或者在一个地方测试好,就不用担心其他地方不好。

#、@功能必须要支持

我们说信息的存在意义在于利用。这就需要如何快速的让人知道信息,以及快速到达信息。

我们只要在:输入框中输入@,就可以显示出相关的人、组织、角色,也可以输入部分内容进行过滤。

也可以输入#和相关内容的部分进行过滤,一快速连接相关的资源。

关键的关键是,所有的资源都可以到达哦,而不仅仅是某种类型

一些高级特性

  1. 支持SaaS化运维、支持独立域名
  2. 支持想公开就公开,想封闭就封闭的权限控制
  3. 支持在线文档预览,上传的文档想让下载就可以下载,不让下载就只能看看
  4. 完善的历史版本比较和恢复功能
  5. 文件上传一定要方便,可以直接上传;图片可以直接粘贴,甚至可以手机直接上传
  6. 可以支持电脑桌面、PAD、手机访问(我承认手机兼容性方面还没有完全搞定)

SaaS化支持

目前已经全面支持SaaS化服务,只要点点鼠标,填写一些信息就可以有自己的网站了,关键是所有的功能都可以使用。为了方便客户运维自己的品牌,我们支持CNAME转发,可以完全以自己的面貌示人,而不是用我们的网址,也可自己定义自己的LOGO及网站名称。

权限管理

所有的应用都可以进行细致的权限控制。

在线文档预览

经常我们有需要让人看到上传的附件,但是并不希望被人下载。支持word,excel,ppt,pdf等等。

 

完善的历史版本比较和恢复功能

这个前面有展示,所有的资源,需要的化都可以提供。

文件上传一定要方便,可以直接上传

文件把一个或多个文件直接拖动到上传按钮就可以完成上传,当然也可以点击按钮,再选择一到多个文件完成上传。

点击手机上传,会弹出一个二维码。

手机扫描一下就可以通过拍照或选择上传文件。

图片可以直接粘贴

图片可以通过剪切板直接Paste,也可以自己班图片文件拖入编辑框完成上传。

可以支持电脑桌面、PAD、手机访问

目前手机还有写兼容问题没有处理完毕。

自定义扩展字段

我们知道,无论想的多努力,都无法满足客户的所有应用场景,于是我们提供了自定义字段扩展功能(正在内测中),这样就可以根据需要扩充自己需要的字段了。

比如,同样是文档管理,你可以衍生出需求、设计、测试用例等等专业文档。

APP扩展能力

我们知道,目前完成的功能只是客户需要的一个子集,未来一定会有更多的APP才能满足客户需求,甚至需要为客户提供扩展机制,扩充自己的行业应用。

实际上,我们现在提供的文档、博客、社区、项目等等都是一个个独立的应用,但是因为遵守了引用开发规范,于是它就和现有的功能有机的形成一体了。

比如我们扩展了一个J2EE软件管理的小应用:

我们只是修改了pom依赖关系,就可以简单的把这个引用放入或者去除。

当然,如果您用的是我们的SaaS系统,则可以简单的通过应用列表进行选择:

如果想用自己的域名访问,而不是我们的二级域名,那也非常简单:

申请一个域名,绑定CNAME到二级域名,然后在系统配置中配置绑定的域名信息:

然后就可以使用自己的域名对外提供服务了。

一些其他截图

个人中心

日程中心

通知中心

配置管理台

发个动弹也不是不可以

大事记

总结

到此为止,简单的介绍了一下SDPM2.0的功能和特性,想体验的同学可以访问TINY官网,目前已经开通内测,想申请自己的网站参与内测的小伙伴请PM悠然即可。

当然,目前只是具有了完整的框架支持和初步的APP引用,但是我们已经加快了APP的开发速度,目前APP开发规范也在编制当中,期望更多的同学和我们一起打造SDPM2.0。

如果您对我的博客感兴趣,亲点击左上角的关注,以便收到我的最新动态。

© 著作权归作者所有

共有 人打赏支持
悠悠然然

悠悠然然

粉丝 2373
博文 184
码字总数 360373
作品 14
杭州
架构师
加载中

评论(15)

悠悠然然
悠悠然然

引用来自“sjack”的评论

大佬 期待开源, 这下应该没人说啥了 要甩人几条街了吧

回复@sjack : 开源暂时没有计划,但是可以推出免费版本。
sjack
sjack
大佬 期待开源, 这下应该没人说啥了 要甩人几条街了吧
y
yjyong1217F
赞!!匠人之心
悠悠然然
悠悠然然

引用来自“xiewei725”的评论

功能只够强大的。悠然老师,支持多格式文档在线预览,如何实现的。能不能提供思路,或者组件开源

@xiewei725 复用的,花点钱就有了
x
xiewei725
功能只够强大的。悠然老师,支持多格式文档在线预览,如何实现的。能不能提供思路,或者组件开源
Zoker
Zoker
帮顶
柴九
开源吗?
悠悠然然
悠悠然然

引用来自“清风_”的评论

好强大啊

@清风_ 谢谢关注,有需求pm
悠悠然然
悠悠然然

引用来自“PatrickWQy”的评论

我一直在找这种软件,这是我看到的第一个,mark

@PatrickWQy 有使用需求欢迎pm
悠悠然然
悠悠然然

引用来自“zzuqiang”的评论

非常强大呀!企业内部需要

@zzuqiang 有使用需求欢迎pm
网站后端.Flask.WSGI的前世今生?

网络服务器简介 1.客户端(浏览器)发送HTTP请求到远端物理服务器上的WEB服务器 2.处于监听状态的远端WEB服务器收到请求时会产生HTTP响应并发送回客户端 3.客户端(浏览器)收到响应解析并呈现给...

满满李
2016/06/13
58
0
新年贺礼:2017阿里技术精编,65篇海量下载!

2017年,在技术发展的历史上,一定是个特别的一年:柯洁与AlphaGo的惊世大战,无人咖啡店开放体验,AI设计师“鲁班”横空出世、三年投入千亿的达摩院正式成立…… 技术前进的脚步,比我们想象...

阿里云_云栖社区
01/05
0
0
行业看点 | 一文为你揭秘量子密码

在互联网日益发达的现代社会, 密码作为我们信息的最后屏障, 其作用和地位不言而喻。 但,我们现在的密码真的安全吗? 更可怕的是, 未来,随着量子计算机的横空出世, 传统的加密方式或将一...

雪花又一年
05/04
0
0
Cray发布XK6超级计算机 性能50 petaflops

位于西雅图的超级计算机制造商Cray又有新作,一台基于AMD x86处理器和NVIDIA图形卡的超级计算机XK6横空出世,它运行Linux,拥有50petaflops的计算能力,第一名买家是瑞士国家超级计算中心,主...

小编辑
2011/05/25
921
6
自己造轮子,实现符合 Promise/A+ 规范的Promise

1.Promise解决什么问题? 1.1回到地狱 比如实现一个动画,页面上有多个球,每个球要等到上一个球的运动停止之后开始动画。 问题:代码丑陋并且多层嵌套,Promise横空出世可以解决这个问题。下...

joy_hj
01/13
0
0
下一代大数据:Twitter 公布曼哈顿实时数据库细节

Twitter曼哈顿数据库的横空出世表明当今的数据库技术已经无法满足大型互联网公司的独特需求,新一轮数据库技术革命已经启动。 Twitter是所有大型互联网公司中产品实时性和技术进化速度最快的...

oschina
2014/04/04
5K
7
JFinal中有关render和页面渲染的疑惑

/*CommonController.java/ @Before(CommonInterceptor.class)public class CommonController extends Controller {@Before(CommonValidator.class)public void index() {renderJsp("/common/......

凯撒大弚
2012/08/03
7.3K
9
人工智能-金融领域行业报告_方创资本

     在中国,人工智能并不是一个新鲜的事物,事实上它自九十年代进入中国,已经发展了20余年时间,只不过今天已进入“人工智能+“的概念。   最近阿尔法元的横空出世再次令人工智能成为热...

大数据头条
2017/12/19
0
0
JAVA使用JDOM读取XML文件

各种流行的程序设计语言都纷纷根据XML这一模型推出了自己的XML解析器,在JAVA世界里,APACHE组 织开发的XERCES应该是流行最广功能最为强大的XML解析器之一。但是由于W3C在设计DOM模型时,并不...

郏高阳
2013/08/05
0
0
Java和微服务-杂谈

前段时间,在学习docker的时候,和一同事聊的时候,同事开玩笑说:为啥java写的应用,要分配内存资源的动不动就要个4G的啥?额,之前一直没有想过这个问题,Java啊,跑在服务器上的时候,轻轻...

alex
2016/12/02
34
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

arts-week1

Algorithm 594. Longest Harmonious Subsequence - LeetCode 274. H-Index - LeetCode 219. Contains Duplicate II - LeetCode 217. Contains Duplicate - LeetCode 438. Find All Anagrams ......

yysue
34分钟前
0
0
NNS拍卖合约

前言 关于NNS的介绍,这里就不多做描述,相关的信息可以查看NNS的白皮书http://doc.neons.name/zh_CN/latest/nns_background.html。 首先nns中使用的竞价货币是sgas,关于sgas介绍可以戳htt...

红烧飞鱼
今天
0
0
Java IO类库之管道流PipeInputStream与PipeOutputStream

一、java管道流介绍 在java多线程通信中管道通信是一种重要的通信方式,在java中我们通过配套使用管道输出流PipedOutputStream和管道输入流PipedInputStream完成线程间通信。多线程管道通信的...

老韭菜
今天
0
0
用Python绘制红楼梦词云图,竟然发现了这个!

Python在数据分析中越来越受欢迎,已经达到了统计学家对R的喜爱程度,Python的拥护者们当然不会落后于R,开发了一个个好玩的数据分析工具,下面我们来看看如何使用Python,来读红楼梦,绘制小...

猫咪编程
今天
1
0
Java中 发出请求获取别人的数据(阿里云 查询IP归属地)

1.效果 调用阿里云的接口 去定位IP地址 2. 代码 /** * 1. Java中远程调用方法 * http://localhost:8080/mavenssm20180519/invokingUrl.action * @Title: invokingUrl * @Description: * @ret......

Lucky_Me
今天
1
0
protobuf学习笔记

相关文档 Protocol buffers(protobuf)入门简介及性能分析 Protobuf学习 - 入门

OSC_fly
昨天
0
0
Mybaties入门介绍

Mybaties和Hibernate是我们在Java开发中应用的比较多的两个ORM框架。当然,目前Mybaties正在慢慢取代Hibernate,这是因为相比较Hibernate而言Mybaties性能更好,响应更快,更加灵活。我们在开...

王子城
昨天
2
0
编程学习笔记之python深入之装饰器案例及说明文档[图]

编程学习笔记之python深入之装饰器案例及说明文档[图] 装饰器即在不对一个函数体进行任何修改,以及不改变整体的原本意思的情况下,增加函数功能的新函数,因为这个新函数对旧函数进行了装饰...

原创小博客
昨天
1
0
流利阅读笔记33-20180722待学习

黑暗中的生物:利用奇技淫巧快活生存 Daniel 2018-07-22 1.今日导读 如果让你在伸手不见五指的黑暗当中生存,你能熬过几天呢?而大千世界,无奇不有。在很多你不知道的角落,有些生物在完全黑...

aibinxiao
昨天
6
0
Hystrix降级逻辑中如何获取触发的异常

通过之前Spring Cloud系列教程中的《Spring Cloud构建微服务架构:服务容错保护(Hystrix服务降级)》一文,我们已经知道如何通过Hystrix来保护自己的服务不被外部依赖方拖垮的情况。但是实际...

程序猿DD
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部