PHPackages                             audriga/jmap-openxport - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. audriga/jmap-openxport

ActiveLibrary[Database &amp; ORM](/categories/database)

audriga/jmap-openxport
======================

Provides JMAP support to existing PHP-based systems, in the context of the OpenXPort project

1.7.2(2y ago)240[1 PRs](https://github.com/audriga/openxport-jmap/pulls)1MITPHPPHP &gt;=5.6

Since Apr 7Pushed 3w ago4 watchersCompare

[ Source](https://github.com/audriga/openxport-jmap)[ Packagist](https://packagist.org/packages/audriga/jmap-openxport)[ Docs](https://github.com/audriga/openxport-jmap)[ RSS](/packages/audriga-jmap-openxport/feed)WikiDiscussions main Synced 3w ago

READMEChangelogDependencies (3)Versions (12)Used By (1)

OpenXPort Data Portability Framework
====================================

[](#openxport-data-portability-framework)

The OpenXPort data portability framework simplifies development of an endpoint for data migration.

It should be simple for consumers to migrate from another service to your service and vice versa. OpenXPort makes it easy to expose a RESTful API Endpoint for data portability. It is built on top of the interoperable protocol [JMAP](https://jmap.io/), which already supports a wide variety of data types and can be extended for more.

The following data types are currently supported by OpenXPort:

- Signatures over the JMAP for Mail protocol
- Calendars over the JMAP for Calendars protocol, built on top of the [JSCalendar](https://datatracker.ietf.org/doc/html/rfc8984) format
- Contacts over the JMAP for Contacts protocol, built on top of the [JSContact](https://datatracker.ietf.org/doc/draft-ietf-calext-jscontact/) format
- Tasks over the JMAP for Tasks protocol, built on top of the [JSCalendar](https://datatracker.ietf.org/doc/html/rfc8984) format
- SieveScripts over the JMAP for Sieve Scripts protocol
- Files over the upcoming JMAP for Files protocol
- Preferences over the  Extension

OpenXPort is built with compatibility for older systems in mind. We support all PHP versions down to 5.6 to provide data portability even for older systems.

Installation
------------

[](#installation)

### Local installation

[](#local-installation)

1. Run `make` to initialize the project for the default PHP version (8.1). Use other build targets (e.g. `make php56_mode` or `make php70_mode`) instead, in case you need to build for a different version.

Development
-----------

[](#development)

### Installation

[](#installation-1)

1. Run `make` or one of the targets for old PHP versions above.
2. Run `make update` to update dependencies and make development tools available

### Tests

[](#tests)

To run all tests run `make fulltest`. This requires [Podman](https://podman.io/)(for Static Anaylsis) and [Ansible](https://www.ansible.com/) (for Integration Tests).

You can also run them separately:

- **Static Analysis** via `make lint`
- **Unit Tests** via `make unit_test`
- **Integration Tests** via `make integration_test` (more info under `tests/integration/README.md`)

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance63

Regular maintenance activity

Popularity12

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 59.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~80 days

Recently: every ~87 days

Total

9

Last Release

896d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1cf507c65ea8039474feb85e3a543f631962812a2607932b21e5cbced996f7c2?d=identicon)[audriga](/maintainers/audriga)

---

Top Contributors

[![jaudriga](https://avatars.githubusercontent.com/u/64837696?v=4)](https://github.com/jaudriga "jaudriga (113 commits)")[![gfaudriga](https://avatars.githubusercontent.com/u/114747793?v=4)](https://github.com/gfaudriga "gfaudriga (62 commits)")[![mrstanb](https://avatars.githubusercontent.com/u/18291178?v=4)](https://github.com/mrstanb "mrstanb (16 commits)")

---

Tags

migrationdata-portabilityjmapgroupware

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/audriga-jmap-openxport/health.svg)

```
[![Health](https://phpackages.com/badges/audriga-jmap-openxport/health.svg)](https://phpackages.com/packages/audriga-jmap-openxport)
```

###  Alternatives

[matomo/matomo

Matomo is the leading Free/Libre open analytics platform

21.6k38.2k](/packages/matomo-matomo)[kimai/kimai

Kimai - Time Tracking

4.7k8.7k1](/packages/kimai-kimai)[cycle/database

DBAL, schema introspection, migration and pagination

65746.2k48](/packages/cycle-database)[perplorm/perpl

Perpl is an improved and still maintained fork of Propel2, an open-source Object-Relational Mapping (ORM) for PHP.

239.4k](/packages/perplorm-perpl)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
