PHPackages                             iqual/icms\_core\_logic - 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. [DevOps &amp; Deployment](/categories/devops)
4. /
5. iqual/icms\_core\_logic

ActiveDrupal-module[DevOps &amp; Deployment](/categories/devops)

iqual/icms\_core\_logic
=======================

ICMS Core Logic - Provides deployment hooks and update functions for ICMS core functionality and propagates changes to child projects.

1.5.23(1w ago)0555↑206.7%1GPL-2.0-or-laterPHP

Since Nov 19Pushed 1mo agoCompare

[ Source](https://github.com/iqual-ch/icms_core_logic)[ Packagist](https://packagist.org/packages/iqual/icms_core_logic)[ RSS](/packages/iqual-icms-core-logic/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (4)Versions (36)Used By (1)

ICMS Core Logic Module
======================

[](#icms-core-logic-module)

This module contains update hooks and cross-bundle logic for ICMS core functionality.

Purpose
-------

[](#purpose)

- Handle structural changes via `hook_update_N()`
- Provide shared functionality needed across multiple bundles
- Provide Drush commands for code generation and project setup

Drush Commands
--------------

[](#drush-commands)

### Generate Project Translations Module

[](#generate-project-translations-module)

Generate a dedicated module for project-specific translations:

```
ddev drush icms:generate-translations-module
# or using alias
ddev drush icms-gen-trans
```

This creates `modules/custom/icms_project_translations` with:

- `translations/` directory for custom translation files (`.po` files)
- `texts/` directory for text snippets and copy
- Proper module structure with `.info.yml` file

After generation, enable the module:

```
ddev drush en icms_project_translations
```

Hook Types
----------

[](#hook-types)

### Update Hooks

[](#update-hooks)

Run before config import. Use for schema changes, complex migrations.

```
function icms_core_logic_update_9001() {
  \Drupal::service('module_installer')->install(['new_module']);
  return new TranslatableMarkup('Enabled new_module.');
}
```

Start numbering from 9001.

Deployment Workflow
-------------------

[](#deployment-workflow)

Client projects update via:

```
composer update iqual/icms_core
drush updb          # Runs update hooks
drush cex           # Export config
drush cr            # Clear cache
```

Bundle Logic Modules
--------------------

[](#bundle-logic-modules)

Each bundle has a paired logic module (e.g., `icms_bundle_news_logic`) following the same pattern.

Client Projects
---------------

[](#client-projects)

Client projects should create feature-specific modules (e.g., `clientname_sso`, `clientname_newsletter`) rather than a single `*_logic` module. Use update numbers below 9000 for client-specific hooks.

###  Health Score

46

—

FairBetter than 92% of packages

Maintenance95

Actively maintained with recent releases

Popularity18

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 81% 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 ~6 days

Total

35

Last Release

11d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/43082de1b2e2b2b2d48b7ff7dbc7c60ff1d0a015123d4062ac0b49ea0b3b725f?d=identicon)[iqual](/maintainers/iqual)

---

Top Contributors

[![iqual-bot](https://avatars.githubusercontent.com/u/220734660?v=4)](https://github.com/iqual-bot "iqual-bot (64 commits)")[![danielwirz](https://avatars.githubusercontent.com/u/42937331?v=4)](https://github.com/danielwirz "danielwirz (11 commits)")[![marcogandi](https://avatars.githubusercontent.com/u/183368923?v=4)](https://github.com/marcogandi "marcogandi (3 commits)")[![kuznikerik](https://avatars.githubusercontent.com/u/56248887?v=4)](https://github.com/kuznikerik "kuznikerik (1 commits)")

### Embed Badge

![Health badge](/badges/iqual-icms-core-logic/health.svg)

```
[![Health](https://phpackages.com/badges/iqual-icms-core-logic/health.svg)](https://phpackages.com/packages/iqual-icms-core-logic)
```

###  Alternatives

[drupal/core-recommended

Locked core dependencies; require this project INSTEAD OF drupal/core.

6942.5M420](/packages/drupal-core-recommended)

PHPackages © 2026

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