CalDAV
CalDAV 是大多数日历服务器都支持的开放标准。你在应用中就能连接 CalDAV 账号,无需在服务器上做任何设置,Mitra 会双向同步其中的日程和任务。
你的日历保存在你自己的服务器上,所以你使用的其他 CalDAV 应用(比如手机上的日历)看到的都是同样的条目。这正是它与 Mitra 日历的区别:Mitra 日历只有 Mitra 能打开。
- 在侧边栏底部选择添加集成,然后选择 CalDAV。
- 填写表单:
- 服务器 URL 是你的服务器的 CalDAV 地址,比如
https://caldav.example.com。下表列出了常见服务商的地址。 - 用户名通常是你的账号名或电子邮件地址。
- 密码是你的账号密码;如果服务商提供应用专用密码,也可以用它。
- 服务器 URL 是你的服务器的 CalDAV 地址,比如
- 点击连接。Mitra 会列出这个账号中的日历,默认全部启用,并注明每个日历存放的内容,比如“日程 · 任务”。
- 关闭你不需要的日历,然后点击保存。
Mitra 会导入你保留的日历,之后只要你开着 Mitra,就每 10 秒同步一次(参见同步的工作方式)。
之后要修改密码,在侧边栏中打开账号的 ⋯ 菜单,选择编辑,输入新密码后点击保存。服务器 URL 和用户名不能修改;如果要用另一个账号,请单独连接它。
常见服务商的服务器 URL
Section titled “常见服务商的服务器 URL”把服务商的 CalDAV 地址告诉 Mitra,它会从那里找到所有日历。
如果地址指向某个用户,例如 https://<your-radicale>/<user>/,Mitra 会列出该用户的日历,而不是你自己的日历,前提是服务器与你共享了这些日历。每个地址请分别连接。
| 服务商 | 服务器 URL |
|---|---|
| Nextcloud | https://<your-nextcloud>/remote.php/dav |
| Radicale | https://<your-radicale>/(或 .../<user>/) |
| Fastmail | https://caldav.fastmail.com/ |
| mailbox.org | https://dav.mailbox.org/ |
| Baïkal | https://<your-baikal>/dav.php |
Google 日历和 iCloud 也支持 CalDAV,但不接受你的普通密码:Google 要通过它自己的页面登录,Apple 则需要 App 专用密码。请改用它们各自的入口,详见 Google 日历和 Apple 日历。
哪些内容会同步
Section titled “哪些内容会同步”服务器上的每个日历在 Mitra 中都是一个日历。它可以存放日程、任务或两者,取决于服务器支持什么。大多数服务器两者都支持;在只接受一种类型的日历中,新条目总是这种类型。
只要你的服务器能保存,Mitra 为条目存储的所有内容都会同步:
- 全天和跨多天的条目、地点、描述、颜色和提醒。
- 条目显示为忙碌还是空闲,以及它的可见性。
- 任务的状态和进度。
- 参与者。邀请由你的服务器发送,回复也由它收集。
- 子任务和依赖关系。
- 附件。同一日历上的其他应用能看到这些文件,Mitra 也会显示它们添加的文件。
重复条目在服务器上仍是一个整体。当你修改其中一次时,Mitra 会问你指的是此条目、此条目及后续条目还是所有条目,并相应地修改重复条目。
任务会保留它的时间安排、截止日期和预估时长。它们在服务器上这样保存:
- 开始时间保存为
DTSTART。 - 长度保存为
ESTIMATED-DURATION:任务安排了多长时间,或在没有开始时间时的预估时长。 - 截止日期保存为
DUE。
有开始时间、没有长度的任务是一个时间点。
以“仅查看”方式共享给你的日历会被标为只读。你仍然可以给它们重命名、更改颜色、调整顺序和隐藏,详见只读日历。
忙碌的可用时间
Section titled “忙碌的可用时间”你标为忙碌的可用时间会以忙碌日程的形式添加到所属日历中,这样在你的手机上,以及在邀请你的人看来,这段时间都显示为已占用。你无需做任何设置。
- 每个忙碌的可用时间都会变成一个时间和重复规则都相同、标为忙碌的重复日程。它使用可用时间的名称(没有名称时为“Busy”),以及它的地点和可见性(比如私密)。
- 在 Mitra 中,你看到的是可用时间本身,而不是这些日程,所以同一段时间不会显示两次。
- Mitra 会让这些日程与你的可用时间保持一致。如果其中某个日程在其他应用中被修改、移动或删除,Mitra 会在下次同步时把它恢复原样。
- 把可用时间重新标为空闲、删除它、关闭它所在的日历或删除账号,都会移除这些日程。把可用时间移到另一个日历,这些日程也会一起移过去。
- 只存放任务的日历,或者你没有写入权限的日历,不会添加这些日程。
NOTE
对忙碌的可用时间中某一天所做的修改不会同步过去。日程仍会按重复规则显示,所以即使你移动或缩短了某一天,别人看到的仍是平常的时间。
Google 日历和 Apple 日历也是同样的效果,因为 Mitra 同样通过 CalDAV 连接它们。
- 如果某个日历不见了,说明它被关闭了。连接时你关闭的日历,以及之后在服务器上新建的日历(Mitra 添加时默认关闭)都是这种情况。在账号的 ⋯ → 编辑中启用它,然后点击保存。那里的刷新会列出自上次同步以来在服务器上新建的日历。
- 如果 Mitra 提示“This account is already connected”,说明这个账号已经在你的侧边栏中了。请改为通过它的 ⋯ → 编辑进行修改,比如输入新密码。
- 如果连接失败,请检查服务器 URL 是否以
https://开头,并且指向 CalDAV 地址,而不是你登录用的网页。要查看 Mitra 向服务器发出的每个请求,请把日志级别设为debug。 - 如果更新 Mitra 后某个日历显示不正常,请使用它 ⋯ 菜单中的重新导入条目。同步只会获取服务器上发生变化的内容,没有变化的条目不会再次读取;重新导入则会全部重新读取。详见重新导入日历。