当前位置: 首页 > 后端技术 > PHP

Wizard开源文档管理系统1.0发布

时间:2023-03-29 21:33:19 PHP

Wizard是一款开源文档管理系统,项目地址为https://github.com/mylxsw/wizard。我是2017年开始开发这个项目的,一开始只是想做一个可以在公司内部管理Swagger文档的工具,但是这两年断断续续的给它加了各种功能。现在我终于决定发布1.0版。Markdown目前支持三种文档管理:它也是Wizard最重要的文档类型,也是研发团队在日常工作交流中使用最多的文档类型。Wizard中,对Editor.md项目进行了功能扩展,添加文档模板、Json转表格、粘贴上传图片等。Swagger:支持OpenAPI3.0规范,嵌入官方Swagger编辑器,集成到通过自定义开发的向导项目,支持文档模板、全屏编辑、文档自动同步功能表格:此类文档类似于Excel电子表格。它使用x-spreadsheet项目并将该项目嵌入向导中。目前还不完善。主要包括以下功能Swagger,Markdown,Table文档管理类型文档修改历史管理文档修改差异对比用户权限管理项目组管理LDAP统一身份认证文档搜索,标签搜索阅读模式文档评论留言通知文档分享统计功能如果你想要快速体验Wizard的功能,有两种方式在线体验请访问http://wizard.aicode.cc/。目前仅提供部分功能体验。功能预览和使用说明请参考维基百科。使用Docker创建完整的Wizard服务进入项目根目录,执行docker-composeup,即可快速创建Wizard服务,访问地址http://localhost:8080。缘起为了鼓励大家编写开发文档,我们首先选择了ShowDoc项目作为文档管理工具。当时团队规模也很小,大家直接用Markdown写一些简单的开发文档。后来随着团队的壮大,前后端分离,团队分工细化,只用Markdown变得困难了。这时候我们首先想到了使用开源界比较流行的Swagger来制作开发文档。但是Swagger文档那么多,总得有个地方维护吧?项目中的文档仅仅使用Swagger是不够的。只适用于API文档的管理。还有很多其他文档,比如设计文档、流程图、架构文档、技术方案、数据库变更等文档需要一起维护。因此,我决定利用业余时间开发一个支持Markdown和Swagger的文档管理工具,这就是Wizard项目。一开始打算用Go语言开发,没过几天就发现用Golang做Web项目开发效率太低了(开发效率快不代表性能好,Golang做API接口开发还是很不错的),而很多常用的功能都需要自己实现,所以我放弃了使用Golang,转而使用PHP的Laravel框架进行开发。所以虽然项目创建于2017年7月27日,但实际开始日期应该是2017年7月31日。一开始Wizard项目的思路比较简单。只是用来把Markdown文档和Swagger文档放在一起,提供一个简单的管理界面就够了。但是在团队中使用的时候,发现在企业中是作为文档使用的。管理就工具而言,仅仅提供简单的文档管理功能是不够的,比如权限控制、文档修改历史、文档搜索、文档分类等功能需求,也促成了越来越完善的功能向导项目。.用户权限管理是指Gitlab的权限管理方式。在用户身份上,只区分管理员和普通用户。通过创建用户组来详细管理用户权限。同时,每个项目都支持单独的用户授权。读写权限。项目分组在Wizard中,文档以项目为单位进行组织。一开始发现这样还可以。后来随着项目越来越多,项目分组功能应运而生,以目录的形式组织项目结构。文档修改历史每次修改文档时,向导都会记录快照,避免错误修改文档造成损失。通过文档历史可以快速恢复文档,文档的修改、添加、删除等关键操作都会被记录和审计Logs,以近期活动的形式展示。文档差异对比在团队协助中,经常会有多人修改同一个文档。为避免冲突,文档修改后,当其他人提交旧的历史版本时,系统会提示用户文档内容已更改。比较功能找出文档中修改了哪些内容。阅读模式在使用投影仪展示技术方案文档时,为了减少不必要的干扰,使用阅读模式只显示文档内容,提供更好的展示体验。文件搜索使用搜索功能可以快速找到所需的文件。目前支持按文档标题搜索文档,后续会增加全文搜索功能。LDAP支持许多公司使用LDAP来统一管理其员工的帐户。员工在公司内部所有系统使用同一套账号登录Jira、Wiki、Gitlab等各种系统Wizard还提供了对LDAP的支持只需要简单的几个配置就可以快速访问公司统一的账号系统.文档附件、文档分享、统计、文档整理、模板管理、文档评论...关于代码项目使用Laravel框架开发,目前版本已经升级到最新的5.8(一开始是5.4,并且一直在升级)。为了提高开发效率和保持结构简单,在开发过程中,我们避免引入过多的外部组件,尽可能使用Laravel提供的各种组件,如Authentication、Authorization、Events、Mail、Notifications等,非常适合使用快来学习Laravel框架吧。总结如果你正在为你的公司寻找一款开源免费的开发文档/API文档管理工具,不妨考虑一下Wizard项目,你不会失望的。如果你刚接触PHP或Laravel,想找一个项目学习如何使用Laravel进行Web开发,这个项目不容错过!最后也是本文的核心部分,赶紧去Star,顺便给个Star!如果我能贡献一些Issues或PR就更好了。