MatrixChannel:工作上下文记录的新提案 - 灵感士多
文章推薦指數: 80 %
简而言之,【MatrixChannel】是一个定时同步Tapd(来自腾讯的敏捷研发协作平台)到Notion 的开源工具。
本篇文章主要根据一个软件开发从业人员的个人经历 ...
0%
TL;DR简而言之,【MatrixChannel】是一个定时同步Tapd(来自腾讯的敏捷研发协作平台)到Notion的开源工具。
本篇文章主要根据一个软件开发从业人员的个人经历,介绍了工作任务纪录的痛点,并提出、开发、开源了自己的解决方案,也就是本文章分享介绍的工具。
最后,通过这个解决方案,除了能够更统一更高效的管理个人日常事务,同时,还能以更个人、更自由的方式管理自己的Tapd需求、任务的数据展示与数据记录,并记录个人关于需求的临时数据与需求分析,提高生产力。
工具Github地址:https://github.com/copriwolf/MatrixChannel
效果演示如下:
MatrixChannel自动同步数据·效果演示
1前言开篇先来一个烂梗。
自从众多互联网公司落实了985规定后,生产力他妈妈更早下班了,今天刚回来,就听到有人敲门,打开门一看,嚯,原来是生产力到家了。
当然了,这是一个来自互联网码农的自嘲,不过确实越来越有趋势,需要在非办公时间段处理公司业务的需求。
(就如同微信也拥有了QQ的状态栏功能一样)。
而为了应对在家里更快的了解自己的任务进度、需求变更,我个人更迫切的需要一个工具去整合我的工作数据,而这个工具也就应运而生了。
2为什么要开发这个插件?2.1直接用公司的项目管理工具不香嘛?从本人的工作经历中,使用过的公司指定项目管理工具包括Redmine/JIRA/Tapd等,都存在一些让使用者非常不爽的地方。
Redmine
Web1.0界面非常简陋,且操作流程的按钮、提示,都是机翻中文非常变扭。
支持的插件扩展有限(如Markdown、流程图),需要额外开发。
私有化部署,离开办公网络需要VPN/IOA才能浏览。
共性
筛选与排序功能欠佳,针对个人的自定义程度不高
无法,也不应该记录个人对于需求的上下文数据
而针对每一个需求任务的上下文相关数据,亟需一个统一的位置进行维护,且在需要时能够快速根据关键信息(标题、需求目的)检索处理,并有详实的时间线历程与状态扭转记录。
2.2过往的需求任务相关数据在哪?在过去的时间段,跨越了我的几段工作经历,为了记录我的工作任务的上下文。
我尝试了【Wiz】【印象笔记】【Angenda.】等知识管理类软件服务、【Trello】等看板类工具以及【Typora+github/dropbox】的Geek模式等等等的模式。
Evernote国内版·记录公司的需求任务·截图
Agenda.记录公司的需求任务·截图
我始终觉得,有几个痛点横跨在我的知识管理软件之上,无法解决:
组织方式不明朗:到底以什么为关键词组织我的任务与需求(任务名称?需求迭代日期?需求类型?),在需要的时候,如果快速检索到我需要的上下文对应数据?
灵活度不足:需多维度纪录需求时,无法满足(标识目前进度状态扭转等)
数据储存可靠性:本地Git/Dropbox不可靠,在线工具的稳定性(印象笔记的氪金体系)。
模版易用性:通过模版新建一个任务不够便捷,往往需要复制粘贴一个项目条来完成。
手工维护成本:每次有新的需求,或者任务内容有所变更,需要手动录入到自己的管理工具上,并维护扭转的状态。
2.3为什么要用Notion?在一路的尝试历程,发现Notion是比较符合选型要求的。
其提出横空出世的All-In-OneWorkspace模式,开创了一个崭新的在线文档记录模式。
它在几个方面的特性,能够尝试解决以上提到的痛点:
高灵活度:其文档本质是一个数据库,可以内嵌多条数据。
而每条数据,允许增加无限、不同维度的属性。
故,可以对一条数据,增加【需求名称】【需求迭代】【当前状态】等等维度进行细分维护,同时,还能对文档进行有时间戳的评论,用于跟进数据。
组织方式自由:其文档可以按照列表、看板、时间线、日历等模式进行视图展示,同时允许附加筛选、排序条件,能够按照【当前指向我且状态未完成的状态】【目前迭代处于测试中状态】等等自己需要的条件进行任务筛选与展示。
模版定义:模版定义简单,新建文档,只需要选中对应模版,即可预生成对应模版已有的属性与展示。
数据储存:这个目前Notion都是处于AWS,日常使用来说是稳定且图片上下传速度没有明显卡顿感。
上下文记录格式丰富:文档中允许多种记录格式,如表格、Markdown、语法高亮的代码块、音视频、图片直接拖动上传,在线播放等。
NotionDatabase视图
Notion具体Page视图
如上图所示,通过细分数据的维度,能够非常容易管理任务的进度,同时,附带一些个人用到的需求上下文数据。
2.4如何让工作任务数据与Notion自动联动?当然了,解决了需求的上下文关联,数据的状态扭转后。
就还有一个比较棘手的问题需要解决:「每次Tapd新来了需求都需要手工录入,能不能自动联动起来?」
仍然需要,手工更新、录入数据,这是一个繁琐而且容易疲倦的操作,也会因为落后于Tapd的更新速度,最后废弃了Notion上下文的维护。
而解决这个自动更新的契机,则是部门的其他同事、领导也同样拥有对新事物探索的热情与无尽的宽容,容许成为我开发自动更新插件的首批试用玩家。
也就有了,今天隆重介绍的「MatrixChannel」——一个自动定时同步Tapd到Notion的工具。
3这么做有什么好处解决了个人以及领导的需求:在Notion以更自由更个性化的方式,并准实时的情况,管理自己的Tapd需求与任务。
4工作原理
MatrixChannel工作原理
MatrixChannel作为一个Notion与Tapd的中介,
会定时从NotionApi拉取现有数据,并以Tapd任务/需求ID进行分组后;
向TapdApi拉取配置的员工的最新数据,同时以Tapd任务/需求ID进行分组;
比对Notion的分组数据与Tapd的分组数据,筛选出需要进行修改/新增的数据;
通过NotionApi对现有数据进行修复/新增。
由于MatrixChannel并不会落地任何用户数据,故每次触发时,都会重新获取Notion/Tapd的数据。
5快速上手首先,我们需要创建一个Notion机器人用于后续把Tapd数据保存到Notion中。
同时,我们通过拷贝一个TapdNotion模版(预设了Tapd数据相关的字段),用来创建一个用来记载Tapd数据的页面。
最后,把Notion机器人配置到这个插件上,跑起来,即可自动同步数据。
5.1前期工作
贵公司正在使用TAPD
你获取了TAPD的Api账号密码
向贵公司的管理员表示你需要提高生产力为由,索取ApiToken
官方论坛-申请指南
5.2创建一个Notion机器人
在官方的开发者页面,点击右上角的Myintegrations按钮.
登陆后,点击Newintegration新建一个机器人。
填写机器人的名字,即可进行提交。
机器人创建成功后,保存机器人的**Secrets(密钥)**,这是操作这个机器人的唯一凭证或者说是钥匙。
机器人类型选择InternalIntegration(自用类型),然后保存即可。
后续需要制作给多个用户同步tapd时,可用到PublicIntegration。
5.3复制Tapd需求、任务的Notion模版我为你准备了一份预设的TapdNotion模版,其中包含了【Story需求表】以及【Task任务表】。
每个表都预设了Tapd数据需要落地的字段(如Task表中的关键数据:「标题」「迭代」「任务状态」「需求Url」「TaskUrl」等等)
操作方式如下:
点击右方链接,拷贝模版到你自己的Notion中。
[📍 Tapd模版]
授权你的机器人访问与修改该页面数据。
(选中刚刚你在上一步创建的机器人名称。
)
获取页面的PageID
由于NotionApi处于Beta版本,未开放处理Database级别权限,所以需要你手动复制DataBase的ID。
分别进去【TapdStory需求表】与【TapdTask任务表】页面中,在右上角的【Share】-【CopyLink】,在第两个/与?v=之间的即为DataBaseID。
12https://www.notion.so/copriwolf/84999c421caf4eeeab8bc66bc044408a?v=9...
5.4配置一份同步配置
复制项目中的 config/demo.conf.yaml 为 conf.yaml,并在其中填充自定义的数据。
你也可以复制下面的配置数据保存为conf.yaml即可。
123456789101112131415161718192021222324252627Service:#数据同步间隔refreshInterval:10m0s#请求失败的睡眠时间httpRequestFailSleepTime:5s#最大请求失败重试次数httpRequestAttempts:5#TapdApi用户名tapdApiUser:vvvvvv#TapdApi密码tapdApiPassword:B8888888-8888-9999-0000#Tapd公司IDtapdCompanyID:"0000700"User:#用户A的昵称/电邮(任意..)copriwolf:enable:-task-story#该用户在Tapd中的用户名tapdOwner:copriwolf#Notion访问密钥(私有机器人使用BotSecret)notionBotSecret:secret_xxxxxxxxxxxxxxxxx#NotionDatabase任务页面的IDnotionDbTaskID:84999c421caf4eeeab8bc66bc#NotionDatabase需求页面的IDnotionDbStoryID:7777777777777777777777777
5.5跑起来具体的插件在GithubRelease页面可以下载,但是我更推荐你使用Docker运行。
原因是,你不需要沾污你的系统,把插件轻量化的跑在一个虚拟容器中,更方便省心。
安装Docker,官方下载页面
执行命令,以docker形式运行
123$dockerrun-it\-v"$PWD/conf.yaml:/app/config/conf.yaml"ghcr.io/copriwolf/matrixchannel:master
工具运行展示
6高阶用法如果你觉得独乐乐不如众乐乐,希望帮助同事也同步他们最新的Tapd数据到他们各自的Notion中,不要着急,MatrixChannel也同样支持,去看看源码吧~后期作者完善后会同样分享教程。
同时MatrixChannel还为你实现了,官方对于公共机器人的强制要求OAuth鉴权与回调功能模块,你只需要稍微配置数据,即可完成公共机器人配置,实现多用户Tapd同步能力。
7后记📍简述了我对工作记录的思考,以及对其中的优化方案。
这也正是我目前运用到实际工作的解决方案。
🕹如果你对工具有任何不满意或者改进的地方,欢迎评论或者直接在Github中提交Issues。
👏如果本文章对你的工作上下文记载有新的思考与启发,那就太好了。
如果你觉得有不同的思路,更好的解决方案或者是批评,请留言告诉我,谢谢你。
文章目录
站点概览
1.TL;DR2.1前言3.2为什么要开发这个插件?3.1.2.1直接用公司的项目管理工具不香嘛?3.2.2.2过往的需求任务相关数据在哪?3.3.2.3为什么要用Notion?3.4.2.4如何让工作任务数据与Notion自动联动?4.3这么做有什么好处5.4工作原理6.5快速上手6.1.5.1前期工作6.2.5.2创建一个Notion机器人6.3.5.3复制Tapd需求、任务的Notion模版6.4.5.4配置一份同步配置6.5.5.5跑起来7.6高阶用法8.7后记
Copriwolf
Or2,blog
83
日志
16
分类
252
标签
GitHub
Weibo
Instagram
Links
LittleHi
延伸文章資訊
- 1Notion 職場專案管理實例圖解教學:排程進度、整理資料方法
而表格中每一個專案、任務,稍後都可以進一步添加更多內容。 例如根據我前面描述的真實工作狀況,我會建立一個「書籍專案」的Database ...
- 2《NOTION 入門教學– 4天練成效率工作王》Day 1: 待辦事項清單
1. 推薦用法 · 剛開始嘗試使用待辦清單人 · 剛開始使用Notion的人,對功能還不太熟悉 · 習慣將工作會議與待做事情記錄在Google行事曆上,只是用Notion來輔助 ...
- 3【Notion 應用案例】頁面亂七八糟該怎麼辦?教你如何優化 ...
你的Notion 中是否散亂著一大堆的未分類頁面,各種筆記、備忘、學習紀錄散落得到處都是?你是否看著被自己搞得亂糟糟的Notion 工作區,卻不知道該如何 ...
- 4【七月與安生】Notion知識大掃除 - 羚羊小姐(尾巴擺擺)
重訓紀錄. 我用的是這個模板,裡面重量組數都設定好了. 同步google calender. google calender,可以同步到Notion,簡直懶人福音!
- 5「我把生命都放在筆記裡了!」用Notion 來管理工作與生活
而Mark 分享,他發現自己轉職PM 後,最常用的軟體除了Firefox 瀏覽器之外,竟然就是Notion!畢竟PM 有許多的工作內容和思考的過程,需要記錄起來才行。 (另外,關於轉職 ...