PHPackages                             systopia/de.systopia.eck - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. systopia/de.systopia.eck

ActiveCivicrm-ext[Utility &amp; Helpers](/categories/utility)

systopia/de.systopia.eck
========================

Provides the ability to create and manage custom CiviCRM entities.

1.0.1(8mo ago)6207[4 PRs](https://github.com/systopia/de.systopia.eck/pulls)AGPL-3.0-or-laterPHP

Since Feb 29Pushed 1mo ago7 watchersCompare

[ Source](https://github.com/systopia/de.systopia.eck)[ Packagist](https://packagist.org/packages/systopia/de.systopia.eck)[ RSS](/packages/systopia-desystopiaeck/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)DependenciesVersions (29)Used By (0)

CiviCRM Entity Construction Kit
===============================

[](#civicrm-entity-construction-kit)

The Entity Construction Kit (ECK) provides a user interface and an API for creating and managing custom CiviCRM entities. In conjunction with custom fields being attached to those entities, things in your business logic can be modeled more clearly, when standard CiviCRM entities are not sufficient.

ECK allows you to define arbitrary semantics as a CiviCRM entity type, each with a name and a label, and as many properties as you like by attaching custom fields to them. You can also introduce another level of hierarchy by defining sub-types.

As instances of those entity types are "real" CiviCRM entities, other extensions can build upon that data model. E.g. the *SearchKit* extension can be used to create search forms, overview pages, etc., and the *FormBuilder* extension can be used to create forms for editing properties or linking entities.

Also, other extensions are able to attach their functionality to those entities. E.g. the [CiviResource](https://github.com/systopia/de.systopia.resource)extension can be used to mark entities as resources that can then be assigned to resource demands for e.g. events.

The extension is licensed under [AGPL-3.0](LICENSE.txt).

We need your support
--------------------

[](#we-need-your-support)

This CiviCRM extension is provided as Free and Open Source Software, and we are happy if you find it useful. However, we have put a lot of work into it (and continue to do so), much of it unpaid for. So if you benefit from our software, please consider making a financial contribution so we can continue to maintain and develop it further.

If you are willing to support us in developing this CiviCRM extension, please send an email to  to get an invoice or agree a different payment method. Thank you!

###  Health Score

44

—

FairBetter than 91% of packages

Maintenance82

Actively maintained with recent releases

Popularity15

Limited adoption so far

Community22

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 77.3% 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 ~26 days

Recently: every ~40 days

Total

28

Last Release

95d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4036a574acde90c3ec13e25eade13f96ad87509fb55e6ff5341647b16fa973ae?d=identicon)[jensschuppe](/maintainers/jensschuppe)

---

Top Contributors

[![jensschuppe](https://avatars.githubusercontent.com/u/29565644?v=4)](https://github.com/jensschuppe "jensschuppe (433 commits)")[![colemanw](https://avatars.githubusercontent.com/u/2874912?v=4)](https://github.com/colemanw "colemanw (107 commits)")[![mattwire](https://avatars.githubusercontent.com/u/2052161?v=4)](https://github.com/mattwire "mattwire (4 commits)")[![dontub](https://avatars.githubusercontent.com/u/5405481?v=4)](https://github.com/dontub "dontub (4 commits)")[![bjendres](https://avatars.githubusercontent.com/u/3448869?v=4)](https://github.com/bjendres "bjendres (4 commits)")[![peth-systopia](https://avatars.githubusercontent.com/u/8555920?v=4)](https://github.com/peth-systopia "peth-systopia (2 commits)")[![seamuslee001](https://avatars.githubusercontent.com/u/6799125?v=4)](https://github.com/seamuslee001 "seamuslee001 (1 commits)")[![Fabian-SYSTOPIA](https://avatars.githubusercontent.com/u/5710152?v=4)](https://github.com/Fabian-SYSTOPIA "Fabian-SYSTOPIA (1 commits)")[![MegaphoneJon](https://avatars.githubusercontent.com/u/1796012?v=4)](https://github.com/MegaphoneJon "MegaphoneJon (1 commits)")[![pfigel](https://avatars.githubusercontent.com/u/277794?v=4)](https://github.com/pfigel "pfigel (1 commits)")[![pokhiii](https://avatars.githubusercontent.com/u/11808845?v=4)](https://github.com/pokhiii "pokhiii (1 commits)")[![angusfretwell](https://avatars.githubusercontent.com/u/3889818?v=4)](https://github.com/angusfretwell "angusfretwell (1 commits)")

---

Tags

civicrmcivicrm-extensioncivicrm-extensions

### Embed Badge

![Health badge](/badges/systopia-desystopiaeck/health.svg)

```
[![Health](https://phpackages.com/badges/systopia-desystopiaeck/health.svg)](https://phpackages.com/packages/systopia-desystopiaeck)
```

PHPackages © 2026

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