PHPackages                             openeuropa/oe\_corporate\_blocks - 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. openeuropa/oe\_corporate\_blocks

ActiveDrupal-module

openeuropa/oe\_corporate\_blocks
================================

OpenEuropa Corporate Blocks.

5.0.1(4mo ago)2160.3k↓20.4%8[3 PRs](https://github.com/openeuropa/oe_corporate_blocks/pulls)3EUPL-1.2PHPPHP &gt;=8.3CI passing

Since Apr 25Pushed 1mo ago21 watchersCompare

[ Source](https://github.com/openeuropa/oe_corporate_blocks)[ Packagist](https://packagist.org/packages/openeuropa/oe_corporate_blocks)[ RSS](/packages/openeuropa-oe-corporate-blocks/feed)WikiDiscussions 5.x Synced 1mo ago

READMEChangelog (10)Dependencies (12)Versions (88)Used By (3)

OpenEuropa Corporate Blocks
===========================

[](#openeuropa-corporate-blocks)

[![Build Status](https://camo.githubusercontent.com/116963ee432448cca106a5a420dbaaf41cab5062ebe68a6589919863e2c84ed2/68747470733a2f2f64726f6e652e66706669732e65752f6170692f6261646765732f6f70656e6575726f70612f6f655f636f72706f726174655f626c6f636b732f7374617475732e7376673f6272616e63683d6d6173746572)](https://drone.fpfis.eu/openeuropa/oe_corporate_blocks)

**Table of contents:**

- [Description](#description)
- [Installation](#installation)
- [Development setup](#development-setup)
- [Contributing](#contributing)
- [Versioning](#versioning)

Description
-----------

[](#description)

OpenEuropa Corporate Blocks is a Drupal module built to contain European Commission corporate blocks.

This currently contains:

- [The European Commission footer](./src/Plugin/Block/EcFooterBlock.php): ships with a set of links and references that must be present on all European Commission sites.
- [The European Union footer](./src/Plugin/Block/EuFooterBlock.php): ships with a set of links and references that must be present on all European Union sites.

Both footer blocks will received the proper styling when used in conjunction with the [OpenEuropa Theme](https://github.com/openeuropa/oe_theme/) component, version 2.x.

### Site specific footer links

[](#site-specific-footer-links)

The OpenEuropa Corporate Blocks also allows site builders to display a set of site specific links in the footer. Such links can be of two types:

- Generic links, such as a contact or legal disclaimer link. Generic links can be managed at the following page: `/admin/config/footer_link_general`
- Social media footer links, such as a link to a Facebook page or a Twitter account. Social media footer links can be managed at the following page: `/admin/config/footer_link_social`

Site specific links can be managed by roles having the `Administer site specific footer links` permission.

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

[](#installation)

The recommended way of installing the OpenEuropa Corporate Blocks module is via [Composer](https://getcomposer.org/doc/00-intro.md#installation-linux-unix-osx).

```
composer require openeuropa/oe_corporate_blocks
```

It is strongly recommended to use the provisioned Docker image for Virtuoso that contains already the OP vocabularies. To do this, add the image to your `docker-compose.yml` file:

```
  sparql:
    image: registry.fpfis.eu/fpfis/triple-store
    environment:
    - SPARQL_UPDATE=true
    - DBA_PASSWORD=dba
    ports:
      - "8890:8890"

```

Otherwise, make sure you have the triple store instance running and have imported the ["Corporate body" vocabulary](https://op.europa.eu/en/web/eu-vocabularies/at-dataset/-/resource/dataset/corporate-body).

Next, if you are using the Task Runner to set up your site, add the `runner.yml` configuration for connecting to the triple store. Under the `drupal` key:

```
  sparql:
    host: "sparql"
    port: "8890"

```

Still in the `runner.yml`, add the instruction to create the Drupal settings for connecting to the triple store. Under the `drupal.settings.databases` key:

```
  sparql_default:
    default:
      prefix: ""
      host: ${drupal.sparql.host}
      port: ${drupal.sparql.port}
      namespace: 'Drupal\Driver\Database\sparql'
      driver: 'sparql'

```

Then you can proceed with the regular Task Runner commands for setting up the site.

Otherwise, ensure that in your site's `setting.php` file you have the connection information to your own triple store instance:

```
$databases["sparql_default"] = array(
  'default' => array(
    'prefix' => '',
    'host' => 'your-triple-store-host',
    'port' => '8890',
    'namespace' => 'Drupal\\sparql_entity_storage\\Driver\\Database\\sparql',
    'driver' => 'sparql'
  )
);

```

### Enable the module

[](#enable-the-module)

In order to enable the module in your project run:

```
./vendor/bin/drush en oe_corporate_blocks
```

Development setup
-----------------

[](#development-setup)

You can build the development site by running the following steps:

- Install the Composer dependencies:

```
composer install
```

A post command hook (`drupal:site-setup`) is triggered automatically after `composer install`. This will symlink the module in the proper directory within the test site and perform token substitution in test configuration files such as `behat.yml.dist`.

**Please note:** project files and directories are symlinked within the test site by using the [OpenEuropa Task Runner's Drupal project symlink](https://github.com/openeuropa/task-runner-drupal-project-symlink) command.

If you add a new file or directory in the root of the project, you need to re-run `drupal:site-setup` in order to make sure they are be correctly symlinked.

If you don't want to re-run a full site setup for that, you can simply run:

```
$ ./vendor/bin/run drupal:symlink-project

```

- Install test site by running:

```
$ ./vendor/bin/run drupal:site-install
```

The development site web root should be available in the `build` directory.

### Using Docker Compose

[](#using-docker-compose)

Alternatively, you can build a development site using [Docker](https://www.docker.com/get-docker) and [Docker Compose](https://docs.docker.com/compose/) with the provided configuration.

Docker provides the necessary services and tools such as a web server and a database server to get the site running, regardless of your local host configuration.

#### Requirements:

[](#requirements)

- [Docker](https://www.docker.com/get-docker)
- [Docker Compose](https://docs.docker.com/compose/)

#### Configuration

[](#configuration)

By default, Docker Compose reads two files, a `docker-compose.yml` and an optional `docker-compose.override.yml` file. By convention, the `docker-compose.yml` contains your base configuration and it's provided by default. The override file, as its name implies, can contain configuration overrides for existing services or entirely new services. If a service is defined in both files, Docker Compose merges the configurations.

Find more information on Docker Compose extension mechanism on [the official Docker Compose documentation](https://docs.docker.com/compose/extends/).

#### Usage

[](#usage)

To start, run:

```
docker-compose up
```

It's advised to not daemonize `docker-compose` so you can turn it off (`CTRL+C`) quickly when you're done working. However, if you'd like to daemonize it, you have to add the flag `-d`:

```
docker-compose up -d
```

Then:

```
docker-compose exec web composer install
docker-compose exec web ./vendor/bin/run drupal:site-install
```

Using default configuration, the development site files should be available in the `build` directory and the development site should be available at: .

#### Running the tests

[](#running-the-tests)

To run the grumphp checks:

```
docker-compose exec web ./vendor/bin/grumphp run
```

To run the phpunit tests:

```
docker-compose exec web ./vendor/bin/phpunit
```

To run the behat tests:

```
docker-compose exec web ./vendor/bin/behat
```

#### Upgrade from 1.x to 2.x

[](#upgrade-from-1x-to-2x)

`Site Switcher` block has been removed.

Contributing
------------

[](#contributing)

Please read [the full documentation](https://github.com/openeuropa/openeuropa) for details on our code of conduct, and the process for submitting pull requests to us.

Versioning
----------

[](#versioning)

We use [SemVer](http://semver.org/) for versioning. For the available versions, see the [tags on this repository](https://github.com/openeuropa/oe_corporate_blocks/tags).

###  Health Score

64

—

FairBetter than 99% of packages

Maintenance84

Actively maintained with recent releases

Popularity38

Limited adoption so far

Community32

Small or concentrated contributor base

Maturity90

Battle-tested with a long release history

 Bus Factor3

3 contributors hold 50%+ of commits

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 ~43 days

Recently: every ~63 days

Total

57

Last Release

126d ago

Major Versions

1.x-dev → 2.3.22020-02-04

2.x-dev → 3.0.0-beta12020-12-02

3.1.1 → 4.0.02021-03-22

3.x-dev → 4.1.02021-05-10

4.22.0 → 5.0.0-beta12025-02-12

PHP version history (7 changes)1.0.0PHP ^7.1

2.4.0PHP &gt;=7.2

4.2.0PHP &gt;=7.3

4.5.0PHP &gt;=7.4

4.12.0PHP &gt;=8.0

4.16.0PHP &gt;=8.1

5.0.0PHP &gt;=8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/d3b1f4079f9a82f6dd88fe6577d1256b4ecbbccbcd4a4ec9bea7c2fd6f72b99a?d=identicon)[DIGIT-CORE](/maintainers/DIGIT-CORE)

---

Top Contributors

[![sergepavle](https://avatars.githubusercontent.com/u/9432036?v=4)](https://github.com/sergepavle "sergepavle (162 commits)")[![ademarco](https://avatars.githubusercontent.com/u/153362?v=4)](https://github.com/ademarco "ademarco (86 commits)")[![nagyad](https://avatars.githubusercontent.com/u/22004498?v=4)](https://github.com/nagyad "nagyad (71 commits)")[![imanoleguskiza](https://avatars.githubusercontent.com/u/14978592?v=4)](https://github.com/imanoleguskiza "imanoleguskiza (53 commits)")[![upchuk](https://avatars.githubusercontent.com/u/5848933?v=4)](https://github.com/upchuk "upchuk (48 commits)")[![22Alexandra](https://avatars.githubusercontent.com/u/22908988?v=4)](https://github.com/22Alexandra "22Alexandra (38 commits)")[![brummbar](https://avatars.githubusercontent.com/u/8488617?v=4)](https://github.com/brummbar "brummbar (32 commits)")[![voidtek](https://avatars.githubusercontent.com/u/186827?v=4)](https://github.com/voidtek "voidtek (18 commits)")[![yenyasinn](https://avatars.githubusercontent.com/u/1183951?v=4)](https://github.com/yenyasinn "yenyasinn (15 commits)")[![drishu](https://avatars.githubusercontent.com/u/11507647?v=4)](https://github.com/drishu "drishu (15 commits)")[![hernani](https://avatars.githubusercontent.com/u/707860?v=4)](https://github.com/hernani "hernani (9 commits)")[![saidatom](https://avatars.githubusercontent.com/u/2377368?v=4)](https://github.com/saidatom "saidatom (4 commits)")[![AaronGilMartinez](https://avatars.githubusercontent.com/u/7264392?v=4)](https://github.com/AaronGilMartinez "AaronGilMartinez (3 commits)")[![gorsky87](https://avatars.githubusercontent.com/u/21284516?v=4)](https://github.com/gorsky87 "gorsky87 (2 commits)")[![piotrsmykaj](https://avatars.githubusercontent.com/u/10449853?v=4)](https://github.com/piotrsmykaj "piotrsmykaj (2 commits)")[![peterserfozo](https://avatars.githubusercontent.com/u/22172388?v=4)](https://github.com/peterserfozo "peterserfozo (2 commits)")[![lisotton](https://avatars.githubusercontent.com/u/1653860?v=4)](https://github.com/lisotton "lisotton (1 commits)")[![mferran-europe](https://avatars.githubusercontent.com/u/94525116?v=4)](https://github.com/mferran-europe "mferran-europe (1 commits)")[![intelektron](https://avatars.githubusercontent.com/u/3647601?v=4)](https://github.com/intelektron "intelektron (1 commits)")[![Aporie](https://avatars.githubusercontent.com/u/3462591?v=4)](https://github.com/Aporie "Aporie (1 commits)")

### Embed Badge

![Health badge](/badges/openeuropa-oe-corporate-blocks/health.svg)

```
[![Health](https://phpackages.com/badges/openeuropa-oe-corporate-blocks/health.svg)](https://phpackages.com/packages/openeuropa-oe-corporate-blocks)
```

###  Alternatives

[drupal/core-recommended

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

6939.5M343](/packages/drupal-core-recommended)

PHPackages © 2026

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