ELI Permalinks
ELI Permalinks enables Drupal sites to create, publish, and manage persistent
URLs compliant with the European Legislation Identifier (ELI) URI model.
Administrators can associate an ELI identifier with either a Drupal managed
file or an external URL. The module generates the public path from controlled
ELI components and provides an administrative table for creating, editing,
disabling, and deleting identifiers.
### Features
- Generates human- and machine-readable ELI paths.
- Implements the Spanish ELI URI template:
`/eli/{jurisdiction}/{type}/{year}/{month}/{day}/{number}/{version}/{version_date}/{language}/{format}`.
- Supports work, expression, and manifestation-level identifiers by making the
final components optional.
- Provides controlled vocabularies for jurisdiction, legal document type,
version, language, and format.
- Resolves identifiers to Drupal managed files or trusted external URLs.
- Validates mutually exclusive file/URL destinations.
- Enforces unique ELI paths.
- Supports original (`dof`) and consolidated (`con`) legal versions.
- Provides a dedicated permission and complete administrative CRUD interface.
- Supports Drupal 10 and Drupal 11.
### Requirements
No contributed modules are required. The module uses the File and Options
modules provided by Drupal core.
### Installation
```shell
composer require drupal/eli_permalinks
drush en eli_permalinks -y
drush cr
```
Grant the **Administer ELI permalinks** permission and open
**Administration > Content > ELI Permalinks**.
### Standards
The module follows the European Legislation Identifier framework and the
Spanish ELI URI implementation published by the Agencia Estatal BoletÃn
Oficial del Estado.
### Similar projects
- Persistent Identifiers provides a generic API for identifiers such as DOI,
ARK, and Handle, but does not implement the ELI legal-document URI model.
- Permalink and Permanent Filelink provide generic stable links, but do not
generate structured European Legislation Identifiers.