PHPackages                             os2web/os2web\_datalookup - 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. os2web/os2web\_datalookup

ActiveDrupal-module

os2web/os2web\_datalookup
=========================

Provides integration with Danish data lookup services such as Service platformen or Datafordeler.

3.0.3(6mo ago)014.0k↓38.9%1[1 PRs](https://github.com/OS2web/os2web_datalookup/pulls)4EUPL-1.2PHP

Since Dec 3Pushed 6mo ago9 watchersCompare

[ Source](https://github.com/OS2web/os2web_datalookup)[ Packagist](https://packagist.org/packages/os2web/os2web_datalookup)[ RSS](/packages/os2web-os2web-datalookup/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (6)Versions (49)Used By (4)

OS2Web Data lookup [![Build Status](https://camo.githubusercontent.com/3259853643a15adc4eec9a692fdd67642a7b944f66b92715b674df284c353216/68747470733a2f2f7472617669732d63692e6f72672f4f53327765622f6f73327765625f646174616c6f6f6b75702e7376673f6272616e63683d382e78)](https://travis-ci.org/OS2web/os2web_datalookup)
====================================================================================================================================================================================================================================================================================================================

[](#os2web-data-lookup--)

Install
-------

[](#install)

OS2Web Data lookup provides integration with Danish data lookup services such as Service platformen or Datafordeler. Module is available to download via composer.

```
composer require os2web/os2web_datalookup
drush en os2web_datalookup
```

Update
------

[](#update)

Updating process for OS2Web Data lookup module is similar to the usual Drupal 8 module. Use Composer's built-in command for listing packages that have updates available:

```
composer outdated os2web/os2web_datalookup
```

Automated testing and code quality
----------------------------------

[](#automated-testing-and-code-quality)

See [OS2Web testing and CI information](https://github.com/OS2Web/docs#testing-and-ci)

Contribution
------------

[](#contribution)

Project is opened for new features and os course bugfixes. If you have any suggestion, or you found a bug in project, you are very welcome to create an issue in GitHub repository issue tracker. For issue description, there is expected that you will provide clear and sufficient information about your feature request or bug report.

### Code review policy

[](#code-review-policy)

See [OS2Web code review policy](https://github.com/OS2Web/docs#code-review)

### Git name convention

[](#git-name-convention)

See [OS2Web git name convention](https://github.com/OS2Web/docs#git-guideline)

### Using services in other modules

[](#using-services-in-other-modules)

```
// CVR lookup
/** @var \Drupal\os2web_datalookup\Plugin\DataLookupManager $pluginManager */
$pluginManager = \Drupal::service('plugin.manager.os2web_datalookup');
/** @var \Drupal\os2web_datalookup\Plugin\os2web\DataLookup\DataLookupCompanyInterface $cvrPlugin */
$cvrPlugin = $pluginManager->createDefaultInstanceByGroup('cvr_lookup');

if ($cvrPlugin->isReady()) {
  $cvrResult = $cvrPlugin->lookup($cvr);
}

// CPR lookup.
/** @var \Drupal\os2web_datalookup\Plugin\DataLookupManager $pluginManager */
$pluginManager = \Drupal::service('plugin.manager.os2web_datalookup');
/** @var \Drupal\os2web_datalookup\Plugin\os2web\DataLookup\DataLookupCprInterface $cprPlugin */
$cprPlugin = $pluginManager->createDefaultInstanceByGroup('cpr_lookup');

if ($cprPlugin->isReady()) {
  $cprResult = $cprPlugin->lookup($cpr);
}

// CVR lookup - DEPRECATED.
\Drupal::service('plugin.manager.os2web_datalookup')->createInstance('serviceplatformen_cvr')->getLegalUnit('[CVR number]')

// CPP lookup - DEPRECATED.
\Drupal::service('plugin.manager.os2web_datalookup')->createInstance('serviceplatformen_cpr')->cprBasicInformation('[CPR number]'))
```

New services/features
---------------------

[](#new-servicesfeatures)

### Datafordeler integration ()

[](#datafordeler-integration-httpsdatafordelerdk)

In the scope of os2forms project already implemented light integration with Danmarks Adresseregister (DAR) via fetching data for form elements autocomplete.

See [os2forms\_dawa submodule](https://github.com/OS2Forms/os2forms)

As soon as it is clear how the integration is going to be used, then os2forms\_dawa will be refactored to OS2Web Data lookup plugin.

Important notes
---------------

[](#important-notes)

### Serviceplatformen plugins

[](#serviceplatformen-plugins)

Settings for CPR and CVR serviceplatformen plugins are storing as configuration in db and will(could) be exported as `yml` file via Drupal's configuration management system. And afterward could be tracked by `git`.

If case you have public access to your git repository, all settings from plugins will be exposed for third persons.

To avoid/prevent this behavior, we recommend use `Config ignore` module, where you can add all settings you do not want to export/import via the configuration management system.

Coding standards
----------------

[](#coding-standards)

Our coding are checked by GitHub Actions (cf. [.github/workflows/pr.yml](.github/workflows/pr.yml)). Use the commands below to run the checks locally.

### PHP

[](#php)

```
docker run --rm --volume ${PWD}:/app --workdir /app itkdev/php8.3-fpm composer install
# Fix (some) coding standards issues
docker run --rm --volume ${PWD}:/app --workdir /app itkdev/php8.3-fpm composer coding-standards-apply
# Check that code adheres to the coding standards
docker run --rm --volume ${PWD}:/app --workdir /app itkdev/php8.3-fpm composer coding-standards-check
```

### Markdown

[](#markdown)

```
docker run --rm --volume $PWD:/md peterdavehello/markdownlint markdownlint --ignore vendor --ignore LICENSE.md '**/*.md' --fix
docker run --rm --volume $PWD:/md peterdavehello/markdownlint markdownlint --ignore vendor --ignore LICENSE.md '**/*.md'
```

Code analysis
-------------

[](#code-analysis)

We use [PHPStan](https://phpstan.org/) for static code analysis.

Running statis code analysis on a standalone Drupal module is a bit tricky, so we use a helper script to run the analysis:

```
docker run --rm --volume ${PWD}:/app --workdir /app itkdev/php8.3-fpm ./scripts/code-analysis
```

###  Health Score

50

—

FairBetter than 96% of packages

Maintenance69

Regular maintenance activity

Popularity25

Limited adoption so far

Community26

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor2

2 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 ~57 days

Recently: every ~19 days

Total

39

Last Release

181d ago

Major Versions

1.11.4 → 8.x-dev2024-08-02

1.11.5 → 2.0.02024-11-21

2.0.4 → 3.0.02025-06-18

2.0.5 → 3.0.12025-10-28

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/827308?v=4)[Jørn Skifter Andersen](/maintainers/skifter)[@skifter](https://github.com/skifter)

![](https://www.gravatar.com/avatar/62f8489b69aecc84322f8899d288c3ab41d3022532d49c849ae4ca10e20f4df7?d=identicon)[andriyun](/maintainers/andriyun)

![](https://www.gravatar.com/avatar/134c42b216718e3d28298bcec8772eeb309c8c94afff3462dac1245b06c06cc5?d=identicon)[stanbellcom](/maintainers/stanbellcom)

![](https://www.gravatar.com/avatar/3591440bdf512ac6e1119650f74cd15db697236e6f5e68702bb091bebba1a30b?d=identicon)[juuliabellcom](/maintainers/juuliabellcom)

---

Top Contributors

[![stankut](https://avatars.githubusercontent.com/u/1537807?v=4)](https://github.com/stankut "stankut (39 commits)")[![jekuaitk](https://avatars.githubusercontent.com/u/78410897?v=4)](https://github.com/jekuaitk "jekuaitk (21 commits)")[![rimi-itk](https://avatars.githubusercontent.com/u/11267554?v=4)](https://github.com/rimi-itk "rimi-itk (20 commits)")[![cableman](https://avatars.githubusercontent.com/u/111397?v=4)](https://github.com/cableman "cableman (18 commits)")[![andriyun](https://avatars.githubusercontent.com/u/5544994?v=4)](https://github.com/andriyun "andriyun (14 commits)")[![juuliabellcom](https://avatars.githubusercontent.com/u/5367428?v=4)](https://github.com/juuliabellcom "juuliabellcom (4 commits)")[![skifter](https://avatars.githubusercontent.com/u/827308?v=4)](https://github.com/skifter "skifter (3 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/os2web-os2web-datalookup/health.svg)

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

PHPackages © 2026

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