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.4.10(3mo ago)0162↓33.3%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 1mo ago

READMEChangelogDependencies (1)Versions (12)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

40

—

FairBetter than 88% of packages

Maintenance87

Actively maintained with recent releases

Popularity13

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

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

Total

11

Last Release

101d 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 (22 commits)")[![danielwirz](https://avatars.githubusercontent.com/u/42937331?v=4)](https://github.com/danielwirz "danielwirz (6 commits)")[![marcogandi](https://avatars.githubusercontent.com/u/183368923?v=4)](https://github.com/marcogandi "marcogandi (3 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

[deployer/deployer

Deployment Tool

11.0k25.4M206](/packages/deployer-deployer)[appwrite/server-ce

End to end backend server for frontend and mobile apps.

55.3k84.2k](/packages/appwrite-server-ce)[pragmarx/health

Laravel Server &amp; App Health Monitor and Notifier

2.0k1.0M2](/packages/pragmarx-health)[felixfbecker/language-server-protocol

PHP classes for the Language Server Protocol

22476.7M6](/packages/felixfbecker-language-server-protocol)[heroku/heroku-buildpack-php

Toolkit for starting a PHP application locally, with or without foreman, using the same config for PHP and Apache2/Nginx as on Heroku

8161.3M10](/packages/heroku-heroku-buildpack-php)[tiamo/phpas2

PHPAS2 is a php-based implementation of the EDIINT AS2 standard

4674.7k](/packages/tiamo-phpas2)

PHPackages © 2026

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