kraenzle-ritter/resources
resources
Resource Model and a hasResource trait where resources are basically links to a resources (eg. Wikipedia-Article or GND-Entry). Livewire Components (Bootstrap 5) for searching, selecting and listing the links.
Supported Providers
- GND (Gemeinsame Normdatei)
- Geonames (Geographical database)
- Wikipedia (Multiple languages: DE, EN, FR, IT some others)
- Wikidata (Structured data)
- Idiotikon (Swiss German dictionary)
- Ortsnamen.ch (Swiss place names)
- Metagrid (Swiss humanities database network)
- Anton API (Archives and collections)
- Manual Input (Custom links)
Installation
Via Composer
$ composer require kraenzle-ritter/resources
Then either run php artisan vendor:publish and publish the migration or copy the file to your migrations directory. Then run php artisan migrate.
Usage
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model
use KraenzleRitter\Resources\hasResources;
class MyModel extends Model
{
use hasResources;
...
}
Then you are ready to go:
$resource = [
'provider' => 'Wikipedia',
'provider_id' => 4013996,
'url' => 'https://fr.wikipedia.org/wiki/Érik_Desmazières'
// optional 'full_json' => [...]
];
$model = MyModel::find(1);
$this->model->updateOrCreateResource($resource);
$model->resources;
...
With the artisan-command
php artisan resources:fetch --provider=gnd // or wikidata or wikipedia
You can add more resources to a model which already has a gnd link. You can configure the list of resources in the config file.
License
License. Please see the license file for more information.