npm package: @startinblox/components-ds4go
Description: Startin'blox DS4GO
Author: startinblox
Latest version: 4.1.12

# Startin'blox DS4GO Components

settings.yml:

```yaml
dependencies:
  - djangoldp-account
  - django-webidoidc-provider
  - djangoldp-i18n
  - djangoldp-edc
  - djangoldp-ds4go
  ...

ldppackages:
  - rest_framework
  - oidc_provider
  - djangoldp_account
  - djangoldp_i18n
  - djangoldp_ds4go
  - djangoldp_edc
  ...

server:
  ...
  USE_I18N: True
  # Your application default language, will be served if no header are provided
  LANGUAGE_CODE: fr
  # Your application fallback language, will be served when a requested language is not available
  MODELTRANSLATION_DEFAULT_LANGUAGE: fr
  # Priority order. Ensure that every language is listed here to avoid empty translations
  MODELTRANSLATION_FALLBACK_LANGUAGES:
    - fr
    - en
    - es
  # A list of all supported languages, you **must** make a migration afterwise
  LANGUAGES:
    - ['fr', 'Français']
    - ['en', 'English']
    - ['es', 'Español']

  # EDC (Eclipse Dataspace Connector) configuration
  EDC_URL: ...
  EDC_PARTICIPANT_ID: ...
  EDC_API_KEY: ...
  EDC_AGREEMENT_VALIDATION_ENABLED: true
  EDC_ASSET_ID_STRATEGY: slugify
  EDC_NEGOTIATION_DISCOVERY_ENABLED: true
```

config.json, client:

```json
    ...
    "css": [
      "https://ds4go.tems-components.startinblox.com/solid-tems-ui.css",
      "https://ds4go-components.startinblox.com/components-ds4go.css"
    ],
    ...
```

config.json, npm:

```json
  [
    ...,
    {
      "package": "@startinblox/components-tems",
      "version": "0",
      "path": "https://ds4go.tems-components.startinblox.com/index.js"
    },
    {
      "package": "@startinblox/components-ds4go",
      "version": "0",
      "path": "https://ds4go-components.startinblox.com/index.js"
    },
    ...
  ]
```

## DSP Connector

config.json, components:

```json
    {
      "type": "dsp-connector",
      "parameters": {
        "participant-connector-uri": "...",
        "participant-id": "...",
        "participant-api-key": "...",
        "providers": [
          {
            "name": "...",
            "address": "...",
            "color": "unused, legacy",
            "participantId": "..."
          }
        ]
      },
      "route": "dsp-connector",
      "integration": [
        "routing"
      ]
    }
```

## DSIF Explorer

config.json, components:

```json
    {
      "type": "dsif-explorer-poc",
      "parameters": {
        "menu": {
          "name": "DSIF Explorer",
          "category": "none",
          "icon": "mage-globe-fill"
        },
        "dataSrc": "https://poc.root-authority.dsif.eu/sectors",
        "sectorId": "*",
        "catalogId": "*"
      },
      "defaultRoute": true,
      "route": "dsif-explorer",
      "integration": [
        "menu",
        "routing"
      ]
    }
```

### Fetch all catalogs

The DSIF Explorer component supports fetching all catalogs by setting `sectorId` and `catalogId` to `"*"`.

## Data Space Catalog

config.json, components:

```json
    {
      "type": "dsp-catalog",
      "parameters": {
        "header": "Data space catalog",
        "menu": {
          "name": "Data space catalog",
          "category": "none",
          "icon": "mage-globe-fill"
        },
        "bind-resources": ""
      },
      "route": "dataspace-catalog",
      "routeAttributes": {
        "use-id": ""
      },
      "integration": [
        "menu",
        "routing"
      ]
    }
```

## Fact List

config.json, components:

```json
    {
      "type": "fact-list",
      "parameters": {
        "menu": {
          "name": "Fact Checks",
          "category": "Services",
          "icon": "mingcute-bookmark-line",
          "featureflags": []
        },
        "header": "Fact Checks",
        "bind-resources": "",
        "customers-src": "server://customers/"
      },
      "route": "facts",
      "routeAttributes": {
        "rdf-type": "ds4go:Fact",
        "use-id": ""
      },
      "integration": [
        "menu",
        "routing"
      ]
    }
```

## Fact Bundling

config.json, components:

```json
    {
      "type": "fact-bundle",
      "parameters": {
        "menu": {
          "name": "Fact Bundling",
          "category": "Services",
          "icon": "mingcute-bookmark-line",
          "featureflags": [],
          "alternate": [
            "fact-bundle-creation"
          ]
        },
        "header": "Fact Bundling",
        "disableFiltering": true,
        "defaultDataSrc": "server://factbundles/",
        "bind-resources": ""
      },
      "route": "fact-bundles",
      "routeAttributes": {
        "rdf-type": "ds4go:FactBundle",
        "use-id": ""
      },
      "integration": [
        "menu",
        "routing"
      ]
    }
```

### Create Fact Bundle

config.json, components:

```json
    {
      "type": "fact-bundle-creation",
      "parameters": {
        "header": "Create a new Fact Bundle",
        "dataSrc": "server://factbundles/",
        "factsSrc": "server://facts/"
      },
      "route": "fact-bundle-creation",
      "integration": [
        "routing"
      ]
    }
```

## Customer List

config.json, components:

```json
    {
      "type": "customer-list",
      "parameters": {
        "menu": {
          "name": "Customers",
          "category": "Management",
          "icon": "mdi-handshake-outline",
          "featureflags": []
        },
        "header": "Customers",
        "defaultDataSrc": "server://customers/",
        "bind-resources": ""
      },
      "route": "customers",
      "routeAttributes": {
        "rdf-type": "ds4go:Customer",
        "use-id": ""
      },
      "integration": [
        "menu",
        "routing"
      ]
    }
```

## License

[MIT](LICENSE)