audriga/jmap-icalendar_vcard

在iCalendar和JSCalendar之间,或在vCard和JSContact之间进行转换

0.5.0 2024-01-11 12:55 UTC

This package is not auto-updated.

Last update: 2024-09-27 15:45:27 UTC


README

JMAP iCalendar/vCard 库扩展了 openxport-jmap,增加了在iCalendar和JSCalendar之间,以及在vCard和JSContact之间转换的能力。

对于用户来说,从另一个服务迁移到您的服务,以及相反的情况,应该很简单。OpenXPort 使得暴露 RESTful API 端点以实现数据迁移变得简单。它基于可互操作的协议 JMAP,该协议已经支持多种数据类型,并可以扩展支持更多类型。

此库目前旨在实现以下规范

OpenXPort 考虑到与旧系统的兼容性而构建。我们支持所有 PHP 版本,直到 5.6,以提供对旧系统的数据迁移支持。

安装

本地安装

  1. 运行 make 以初始化项目。它使用您本地的 PHP 版本以及大多数最新的依赖项(目前为 PHP 8.2)。如果您需要为不同的版本构建,请使用其他构建目标(例如,make php70_mode)。

使用

独立

将在未来的版本中支持。

在openxport-jmap中使用

此库为openxport-jmap提供特定于该项目的适配器和映射器。有不同版本的适配器和映射器可供选择

  • 旨在完全符合上述的 IETF 规范(例如,JSCalendarICalendarAdapter
  • 针对特定系统的转换适配(例如,NextcloudJSContactVCardAdapter

它们可以通过通常的方式包含在 OpenXPort 项目中

$adapters = array(
    "Cards" => new \OpenXPort\Adapter\NextcloudJSContactVCardAdapter()
...
$mappers = array(
    "Cards" => new \OpenXPort\Mapper\JSContactVCardMapper(),
...

开发

安装

  1. 运行 make 或上述旧 PHP 版本的任何目标。
  2. 运行 make update 以更新依赖项并提供开发工具。

测试

要运行所有测试,请运行 make fulltest。这需要 Podman(用于静态分析)。

您也可以单独运行它们

  • 静态分析 通过 make lint
  • 单元测试 通过 make unit_test