PHPackages                             openeuropa/oe\_time\_caching - 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. [Caching](/categories/caching)
4. /
5. openeuropa/oe\_time\_caching

ActiveDrupal-module[Caching](/categories/caching)

openeuropa/oe\_time\_caching
============================

OpenEuropa Time Caching.

1.9.0(8mo ago)1154.1k↓17.8%[1 issues](https://github.com/openeuropa/oe_time_caching/issues)[2 PRs](https://github.com/openeuropa/oe_time_caching/pulls)3EUPL-1.2PHPPHP &gt;=8.1CI passing

Since May 18Pushed 2mo ago19 watchersCompare

[ Source](https://github.com/openeuropa/oe_time_caching)[ Packagist](https://packagist.org/packages/openeuropa/oe_time_caching)[ RSS](/packages/openeuropa-oe-time-caching/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (9)Versions (16)Used By (3)

OpenEuropa Time Caching
=======================

[](#openeuropa-time-caching)

The OpenEuropa Time Caching provides a cache tag service to generate and invalidate cache tags that deal with time.

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`. It will make sure that the necessary symlinks are properly setup in the development site. It will also perform token substitution in development configuration files such as `behat.yml.dist`.

- Customize build settings by copying `runner.yml.dist` to `runner.yml` and changing relevant values, like your database credentials.

This will also:

- Symlink the module in `./build/modules/custom/oe_time_caching` so that it's available for the test site
- Setup Drush and Drupal's settings using values from `./runner.yml.dist`.
- Setup PHPUnit and Behat configuration files using values from `./runner.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 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
```

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_time_caching/tags).

###  Health Score

49

—

FairBetter than 95% of packages

Maintenance55

Moderate activity, may be stable

Popularity33

Limited adoption so far

Community24

Small or concentrated contributor base

Maturity72

Established project with proven stability

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

Recently: every ~220 days

Total

11

Last Release

253d ago

PHP version history (5 changes)1.0.0PHP &gt;=7.2

1.1.0PHP &gt;=7.3

1.2.0PHP &gt;=7.4

1.4.0PHP &gt;=8.0

1.6.0PHP &gt;=8.1

### Community

Maintainers

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

---

Top Contributors

[![brummbar](https://avatars.githubusercontent.com/u/8488617?v=4)](https://github.com/brummbar "brummbar (19 commits)")[![nagyad](https://avatars.githubusercontent.com/u/22004498?v=4)](https://github.com/nagyad "nagyad (17 commits)")[![22Alexandra](https://avatars.githubusercontent.com/u/22908988?v=4)](https://github.com/22Alexandra "22Alexandra (11 commits)")[![hernani](https://avatars.githubusercontent.com/u/707860?v=4)](https://github.com/hernani "hernani (9 commits)")[![yenyasinn](https://avatars.githubusercontent.com/u/1183951?v=4)](https://github.com/yenyasinn "yenyasinn (6 commits)")[![imanoleguskiza](https://avatars.githubusercontent.com/u/14978592?v=4)](https://github.com/imanoleguskiza "imanoleguskiza (4 commits)")[![upchuk](https://avatars.githubusercontent.com/u/5848933?v=4)](https://github.com/upchuk "upchuk (4 commits)")[![sergepavle](https://avatars.githubusercontent.com/u/9432036?v=4)](https://github.com/sergepavle "sergepavle (2 commits)")[![AaronGilMartinez](https://avatars.githubusercontent.com/u/7264392?v=4)](https://github.com/AaronGilMartinez "AaronGilMartinez (2 commits)")[![intelektron](https://avatars.githubusercontent.com/u/3647601?v=4)](https://github.com/intelektron "intelektron (1 commits)")[![gorsky87](https://avatars.githubusercontent.com/u/21284516?v=4)](https://github.com/gorsky87 "gorsky87 (1 commits)")

### Embed Badge

![Health badge](/badges/openeuropa-oe-time-caching/health.svg)

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

###  Alternatives

[spatie/laravel-responsecache

Speed up a Laravel application by caching the entire response

2.8k8.2M51](/packages/spatie-laravel-responsecache)[awssat/laravel-visits

Laravel Redis visits counter for Eloquent models

975163.6k2](/packages/awssat-laravel-visits)[artisansdk/ratelimiter

A leaky bucket rate limiter and corresponding middleware with route-level granularity compatible with Laravel.

1503.4M1](/packages/artisansdk-ratelimiter)

PHPackages © 2026

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