diff --git a/content/developers/api-reference/_index.md b/content/developers/api-reference/_index.md index d7e3f1dac..e08a389e0 100644 --- a/content/developers/api-reference/_index.md +++ b/content/developers/api-reference/_index.md @@ -23,7 +23,6 @@ aliases: Events API →
IAM Policies API →
IAM Subjects API →
- Locations API →
Members API →

Public Assets API →
Tenancies API →
diff --git a/content/developers/api-reference/caps-api/index.md b/content/developers/api-reference/caps-api/index.md index a47042e93..0c447e948 100644 --- a/content/developers/api-reference/caps-api/index.md +++ b/content/developers/api-reference/caps-api/index.md @@ -49,7 +49,6 @@ These are the available values for "**?service=**": * applications * assets * blobs -* locations * members diff --git a/content/developers/api-reference/iam-policies-api/index.md b/content/developers/api-reference/iam-policies-api/index.md index 5f5a641d1..9ed1e3103 100644 --- a/content/developers/api-reference/iam-policies-api/index.md +++ b/content/developers/api-reference/iam-policies-api/index.md @@ -11,12 +11,12 @@ menu: parent: "api-reference" weight: 115 toc: true -aliases: +aliases: - /docs/api-reference/iam-policies-api/ --- {{< note >}} -**Note:** This page is primarily intended for developers who will be writing applications that will use DataTrails for provenance. -If you are looking for a simple way to test our API you might prefer our [Postman collection](https://www.postman.com/datatrails-inc/workspace/datatrails-public/overview), the [YAML runner](/developers/yaml-reference/story-runner-components/) or the [Developers](https://app.datatrails.ai) section of the web UI. +**Note:** This page is primarily intended for developers who will be writing applications that will use DataTrails for provenance. +If you are looking for a simple way to test our API you might prefer our [Postman collection](https://www.postman.com/datatrails-inc/workspace/datatrails-public/overview), the [YAML runner](/developers/yaml-reference/story-runner-components/) or the [Developers](https://app.datatrails.ai) section of the web UI. Additional YAML examples can be found in the articles in the [Overview](/platform/overview/introduction/) section. {{< /note >}} @@ -103,10 +103,6 @@ The response is: "display_name": "Friendly name of the policy", "description": "Description of the policy", "filters": [ - {"or": [ - "attributes.arc_home_location_identity=locations/5ea815f0-4de1-4a84-9377-701e880fe8ae", - "attributes.arc_home_location_identity=locations/27eed70b-9e2b-4db1-b8c4-e36505350dcc" - ]}, {"or": [ "attributes.arc_display_type=Valve", "attributes.arc_display_type=Pump" @@ -187,10 +183,6 @@ Each of these calls returns a list of matching IAM Access Policies records in th "display_name": "Name to display", "description": "Description of the policy", "filters": [ - {"or": [ - "attributes.arc_home_location_identity=locations/5ea815f0-4de1-4a84-9377-701e880fe8ae", - "attributes.arc_home_location_identity=locations/27eed70b-9e2b-4db1-b8c4-e36505350dcc" - ]}, {"or": [ "attributes.arc_display_type=Valve", "attributes.arc_display_type=Pump" @@ -269,10 +261,6 @@ Define the Access Policy parameters to be changed and store in `/path/to/jsonfil ```json { "filters": [ - {"or": [ - "attributes.arc_home_location_identity=locations/5ea815f0-4de1-4a84-9377-701e880fe8ae", - "attributes.arc_home_location_identity=locations/27eed70b-9e2b-4db1-b8c4-e36505350dcc" - ]}, {"or": [ "attributes.arc_display_type=Valve", "attributes.arc_display_type=Pump" @@ -319,10 +307,6 @@ The response is: "display_name": "Friendly name of the policy", "description": "Description of the policy", "filters": [ - {"or": [ - "attributes.arc_home_location_identity=locations/5ea815f0-4de1-4a84-9377-701e880fe8ae", - "attributes.arc_home_location_identity=locations/27eed70b-9e2b-4db1-b8c4-e36505350dcc" - ]}, {"or": [ "attributes.arc_display_type=Valve", "attributes.arc_display_type=Pump" @@ -384,7 +368,6 @@ Each of these calls returns a list of matching Asset records in the form: "attributes": { "arc_display_type": "Pump", "arc_firmware_version": "1.0", - "arc_home_location_identity": "locations/866790d8-4ed6-4cc9-8f60-07672609b331", "arc_serial_number": "vtl-x4-07", "arc_description": "Pump at A603 North East", "arc_display_name": "tcl.ccj.003", @@ -424,10 +407,6 @@ Each of these calls returns a list of matching IAM `access_policies` records in "identity": "access_policies/6a951b62-0a26-4c22-a886-1082297b063b", "display_name": "Some description", "filters": [ - { "or": [ - "attributes.arc_home_location_identity=locations/5ea815f0-4de1-4a84-9377-701e880fe8ae", - "attributes.arc_home_location_identity=locations/27eed70b-9e2b-4db1-b8c4-e36505350dcc", - ]}, { "or": [ "attributes.arc_display_type=Valve", "attributes.arc_display_type=Pump" diff --git a/content/developers/api-reference/locations-api/index.md b/content/developers/api-reference/locations-api/index.md deleted file mode 100644 index 48882da9a..000000000 --- a/content/developers/api-reference/locations-api/index.md +++ /dev/null @@ -1,137 +0,0 @@ ---- -title: "Locations API" -description: "Locations API Reference" -lead: "Locations API Reference" -date: 2021-06-09T11:56:23+01:00 -lastmod: 2021-06-09T11:56:23+01:00 -draft: false -images: [] -menu: - developers: - parent: "api-reference" -weight: 119 -toc: true -aliases: - - /docs/api-reference/locations-api/ ---- -{{< note >}} -**Note:** This page is primarily intended for developers who will be writing applications that will use DataTrails for provenance. -If you are looking for a simple way to test our API you might prefer our [Postman collection](https://www.postman.com/datatrails-inc/workspace/datatrails-public/overview), the [YAML runner](/developers/yaml-reference/story-runner-components/) or the [Developers](https://app.datatrails.ai) section of the web UI. - -Additional YAML examples can be found in the articles in the [Overview](/platform/overview/introduction/) section. -{{< /note >}} -{{< note >}} -**Note:** See [DataTrails Administration](/platform/administration/grouping-assets-by-location/) for additional information on creating and using locations with DataTrails. -{{< /note >}} - -## Locations API Examples - -Create the [bearer_token](/developers/developer-patterns/getting-access-tokens-using-app-registrations) and store in a file in a secure local directory with 0600 permissions. - -### Location Creation - -Define the location parameters and store in `/path/to/jsonfile`: - -```json -{ - "display_name": "Macclesfield, Cheshire", - "description": "Manufacturing site, North West England, Macclesfield, Cheshire", - "latitude": 53.2546799, - "longitude": -2.1213956, - "attributes": { - "director": "John Smith", - "address": "Unit 6A, Synsation Park, Maccelsfield", - "Facility Type": "Manufacture", - "support_email": "support@macclesfield.com", - "support_phone": "123 456 789" - } -} -``` - -Create the location to POSTing to the locations resource: - -```bash -curl -v -X POST \ - -H "@$HOME/.datatrails/bearer-token.txt" \ - -H "Content-type: application/json" \ - -d "@/path/to/jsonfile" \ - https://app.datatrails.ai/archivist/v2/locations -``` - -The response is: - -```json -{ - "identity": "locations/08838336-c357-460d-902a-3aba9528dd22", - "display_name": "Macclesfield, Cheshire", - "description": "Manufacturing site, North West England, Macclesfield, Cheshire", - "latitude": 53.2546799, - "longitude": -2.1213956, - "attributes": { - "director": "John Smith", - "address": "Bridgewater, Somerset", - "Facility Type": "Manufacture", - "support_email": "support@macclesfield.com", - "support_phone": "123 456 789" - } -} -``` - -### Location Retrieval - -#### Fetch All Locations - -To fetch all locations, simply `GET` the locations resource: - -```bash -curl -v -X GET \ - -H "@$HOME/.datatrails/bearer-token.txt" \ - https://app.datatrails.ai/archivist/v2/locations -``` - -#### Fetch Specific Location by Identity - -If you know the unique identity of the location record, simply `GET` the resource: - -```bash -curl -v -X GET \ - -H "@$HOME/.datatrails/bearer-token.txt" \ - https://app.datatrails.ai/archivist/v2/locations/08838336-c357-460d-902a-3aba9528dd22 -``` - -#### Fetch Location by Name - -To fetch all locations with a specific name, `GET` the Assets resource and filter on `display_name`: - -```bash -curl -v -X GET \ - -H "@$HOME/.datatrails/bearer-token.txt" \ - "https://app.datatrails.ai/archivist/v2/locations?display_name=Macclesfield%2C%20Cheshire" -``` - -Each of these calls returns a list of matching Asset records in the form: - -```json -{ - "locations": [ - { - "identity": "locations/08838336-c357-460d-902a-3aba9528dd22", - "display_name": "Macclesfield, Cheshire", - "description": "Manufacturing site, North West England, Macclesfield, Cheshire", - "latitude": "53.2546799", - "longitude": "-2.1213956,14.54", - "attributes": { - "director": "John Smith", - "address": "Bridgewater, Somerset", - "Facility Type": "Manufacture", - "support_email": "support@macclesfield.com", - "support_phone": "123 456 789" - } - } - ] -} -``` - -## Locations OpenAPI Docs - -{{< openapi url="https://raw.githubusercontent.com/datatrails/datatrails-openapi/main/doc/locationsv2.swagger.json" >}} diff --git a/content/developers/developer-patterns/getting-access-tokens-using-app-registrations/index.md b/content/developers/developer-patterns/getting-access-tokens-using-app-registrations/index.md index 6f52dc947..166d9aece 100644 --- a/content/developers/developer-patterns/getting-access-tokens-using-app-registrations/index.md +++ b/content/developers/developer-patterns/getting-access-tokens-using-app-registrations/index.md @@ -6,7 +6,7 @@ date: 2021-06-16T11:12:25+01:00 lastmod: 2023-09-27T11:12:25+01:00 draft: false images: [] -menu: +menu: developers: parent: "developer-patterns" weight: 31 @@ -17,7 +17,7 @@ aliases: --- Non-interactive access to the DataTrails platform is managed by creating `Integrations` with either a Custom Integration or one of the built-in Integrations. This is done from the `Integrations` page in the DataTrails UI (reachable -from the `Settings` page or the `Integrations` shortcut in the sidebar.) You can also do this via +from the `Settings` page or the `Integrations` shortcut in the sidebar.) You can also do this via the App Registrations REST API. {{< note >}} @@ -40,7 +40,7 @@ The high level steps are: If you have already saved a `CLIENT_ID` and a `SECRET`, with the correct [permissions applied](#grant-permissions-to-custom-integration), skip to [Getting a Token With the Custom Integration](#getting-a-token-with-the-custom-integration) {{< note >}} -**Note:** Creating App Registrations requires **Owner** privileges. +**Note:** Creating App Registrations requires **Owner** privileges. If `Settings` or `Integrations` does not appear in the navigation, see your DataTrails Administrator for access. {{< /note >}} @@ -57,17 +57,17 @@ If `Settings` or `Integrations` does not appear in the navigation, see your Data **Note:** Optionally add any `Custom claims` at this step by clicking the `+ Add` button.
In this context, claims are pieces of information that are asserted in a JSON Web Token (JWT). *Registered* claims are name/value pairs that are defined by the JWT standard, *Custom* claims are not defined and can have any name/value combination. Ensure the `Name` *does not start* with `jit_` or `arc_` (DataTrails reserved names) or use any other well-known reserved claims. - + See [here](https://auth0.com/docs/security/tokens/json-web-tokens/json-web-token-claims#reserved-claims) for more information on JWT Claims - {{< /note >}} -1. If this Custom Integration should have administrator privileges, assign it the `Owner` role by + {{< /note >}} +1. If this Custom Integration should have administrator privileges, assign it the `Owner` role by checking that option. If you do this, ensure the client credentials are securely protected. 1. Once complete, click `Confirm` to complete the custom integration 1. You will then be presented with the `CLIENT_ID` and `SECRET` required by the archivist token endpoint {{< img src="RecordClientIDandSecret.png" alt="Rectangle" caption="Record your Client ID and Secret" class="border-0" >}} {{< caution >}} **Caution:** Save the `CLIENT_ID` and `SECRET` to a password manager or secret management service as the `SECRET` can **not** be viewed again. A new `SECRET` can be regenerated in the Integration configuration screen but this replaces and invalidates the previous `SECRET`. -{{< /caution >}} +{{< /caution >}} ### Grant Access Permissions to your Custom Integration @@ -133,7 +133,7 @@ Having completed the steps to create a [custom integration](./#creating-a-custom # in an `./datatrails/` directory mkdir -p $HOME/.datatrails chmod 0700 $HOME/.datatrails - + # Create the Bearer Token echo Authorization: Bearer $TOKEN > $HOME/.datatrails/bearer-token.txt cat $HOME/.datatrails/bearer-token.txt @@ -178,7 +178,6 @@ If you have existing assets, the output will be similar to: "arc_description": "A shipping container being tracked", "arc_display_name": "New Shipping Container #1", "arc_display_type": "Shipping Container", - "arc_home_location_identity": "locations/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "height": "8'" }, "confirmation_status": "COMMITTED", diff --git a/content/developers/yaml-reference/_index.md b/content/developers/yaml-reference/_index.md index 9ae1c065b..f2f1affbe 100644 --- a/content/developers/yaml-reference/_index.md +++ b/content/developers/yaml-reference/_index.md @@ -19,7 +19,6 @@ aliases:

YAML Runner Components →
Assets YAML Runner →
Events YAML Runner →
- Locations YAML Runner →
Subjects YAML Runner →
Estate Information YAML Runner →

diff --git a/content/developers/yaml-reference/assets/index.md b/content/developers/yaml-reference/assets/index.md index 0780b4767..72bffb293 100644 --- a/content/developers/yaml-reference/assets/index.md +++ b/content/developers/yaml-reference/assets/index.md @@ -26,7 +26,7 @@ aliases: Adding an `asset_label` allows your Asset to be referenced in later steps of the story. For example, when you want to add an Event to the Asset after it is created. -The `arc_namespace` (for the Asset) and the `namespace` (for the location) are used to distinguish between Assets and Locations created between runs of the story. Usually, these field values are derived from an environment variable `ARCHIVIST_NAMESPACE` (default value is namespace). +The `arc_namespace` is used to distinguish between Assets created between runs of the story. Usually, these field values are derived from an environment variable `ARCHIVIST_NAMESPACE` (default value is namespace). The optional `confirm: true` entry means that the YAML Runner will wait for the Asset to be committed before moving on to the next step. This is beneficial if the Asset will be referenced in later steps. diff --git a/content/developers/yaml-reference/estate-info/index.md b/content/developers/yaml-reference/estate-info/index.md index edcb2633f..6d2d72e21 100644 --- a/content/developers/yaml-reference/estate-info/index.md +++ b/content/developers/yaml-reference/estate-info/index.md @@ -6,12 +6,12 @@ date: 2021-06-09T11:39:03+01:00 lastmod: 2021-06-09T11:39:03+01:00 draft: false images: [] -menu: +menu: developers: parent: "yaml-reference" weight: 207 toc: true -aliases: +aliases: - /docs/yaml-reference/estate-info/ --- @@ -23,7 +23,7 @@ aliases: ## Composite Estate Info -This action returns a report on the current number of Assets, Events, and locations in your DataTrails estate. +This action returns a report on the current number of Assets and Events in your DataTrails estate. ```yaml --- diff --git a/content/developers/yaml-reference/events/index.md b/content/developers/yaml-reference/events/index.md index f383b5c82..48e57b3d2 100644 --- a/content/developers/yaml-reference/events/index.md +++ b/content/developers/yaml-reference/events/index.md @@ -25,7 +25,7 @@ aliases: The `asset_label` must match the setting when the Asset was created in an earlier step. The `asset_label` may also be specified as the Asset ID of an existing Asset, in the form `assets/`. -There are a few optional settings that can be used when creating Events. `attachments` uploads the attachment to DataTrails and the response is added to the Event before posting. `location` creates the location if it does not exist and adds it to the Event. The `sbom` setting uploads the SBOM to DataTrails and adds the response to the Event before posting. +There are a few optional settings that can be used when creating Events. `attachments` uploads the attachment to DataTrails and the response is added to the Event before posting. The `sbom` setting uploads the SBOM to DataTrails and adds the response to the Event before posting. `confirm: true` tells the YAML Runner to wait for the Event to be committed before moving to the next step. This is optional and only necessary if your workflow requires 3rd parties (public or other DataTrails tenancies) to immediately view the Event. @@ -49,26 +49,13 @@ steps: arc_evidence: ARQC 0x12345678 wavestone_door_name: Courts of Justice Paris Front Door wavestone_evt_type: door_open - location: - selector: - - display_name - - attributes: - - namespace - display_name: Paris Courts of Justice - description: Public museum in the former Palais de Justice - latitude: 48.855722 - longitude: 2.345051 - attributes: - namespace: door entry - address: 10 Boulevard du Palais, 75001 Paris, France - wavestone_ext: managed attachments: - filename: functests/test_resources/doors/events/door_open.png content_type: image/png confirm: false ``` -This example creates an Event with custom Event attributes, creates and adds a location, and adds an image attachment. +This example creates an Event with custom Event attributes, and adds an image attachment. Events may also be used to release a software package as an SBOM, such as the example below: diff --git a/content/developers/yaml-reference/locations/index.md b/content/developers/yaml-reference/locations/index.md deleted file mode 100644 index ffc755146..000000000 --- a/content/developers/yaml-reference/locations/index.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: "Locations YAML Runner" -description: "Location Actions Used with the Yaml Runner" -lead: "Location Actions Used with the Yaml Runner" -date: 2021-06-09T11:39:03+01:00 -lastmod: 2021-06-09T11:39:03+01:00 -draft: false -images: [] -menu: - developers: - parent: "yaml-reference" -weight: 204 -toc: true -aliases: - - /docs/yaml-reference/locations/ ---- - -{{< note >}} -**Note:** To use the YAML Runner you will need to install the `datatrails-archivist` python package. - -[Click here](https://python.datatrails.ai/runner/index.html) for installation instructions. -{{< /note >}} - -## Locations Create If Not Exists - -This action checks to see if the location you are looking to create already exists, and if not, executes the creation of your new location. The action checks for a location with the same identifier to verify that the location does not already exist. - -If this action is executed as part of a series of YAML Runner steps, the location created can be referenced in later steps using the key `location_label`. - -When you create your location, you may also add location attributes. In the example below, information such as the facility address and type have been included, as well as contact information for the location's reception: - -```yaml ---- -steps: - - step: - action: LOCATIONS_CREATE_IF_NOT_EXISTS - description: Create Cape Town Location - selector: - - display_name - - attributes: - - namespace - display_name: Cape Town - description: South Africa Office - latitude: -33.92527778 - longitude: 18.42388889 - attributes: - namespace: synsation industries - address: Cape Town Downtown - Facility Type: Satellite Office - reception_email: reception_CT@synsation.io - reception_phone: +27 (21) 123-456 -``` - -## Locations List - -This action returns a list of all locations that meet your specified criteria. Setting `print_response: true` is necessary to print the full output. - -```yaml ---- -steps: - - step: - action: LOCATIONS_LIST - description: List locations for which John Smith is director - print_response: true - attrs: - director: John Smith -``` - -## Locations Count - -This action returns a count of all locations that meet your specified criteria. Setting `print_response: true` is necessary to print the full output. - -```yaml ---- -steps: - - step: - action: LOCATIONS_COUNT - description: Count location for which John Smith is director - print_response: true - attrs: - director: John Smith -``` diff --git a/content/developers/yaml-reference/story-runner-components/index.md b/content/developers/yaml-reference/story-runner-components/index.md index be81e6975..45555279f 100644 --- a/content/developers/yaml-reference/story-runner-components/index.md +++ b/content/developers/yaml-reference/story-runner-components/index.md @@ -26,7 +26,6 @@ aliases: | **action** | Required for every operation, the action specifies what function will be performed. | | **description** | Optional string that describes what the step is doing. For example, "Create the Asset My First Container". | | **asset_label** | For a series of steps run as one file, the Asset label could be a friendly name used by later steps to refer back to an Asset created in a previous step. If the Asset already exists, this field may be used to reference the Asset ID in the form `assets/`. | -| **location_label** | For a series of steps run as one file, the location label could be a friendly name used by later steps to refer back to a location created in a previous step. If the location already exists, this field may be used to reference the Location ID in the form `locations/`. | | **subject_label** | For a series of steps run as one file, the Subject label could be a friendly name used by later steps to refer back to a Subject created in a previous step. If the Subject already exists, this field may be used to reference the Subject ID in the form `subjects/`. | | **print_response** | Specifying this field as true emits a JSON representation of the response, useful for debugging purposes. | | **wait_time** | Optional field specifying a number of seconds the story runner will pause before executing the next step. Useful for live demonstrations. diff --git a/content/glossary/reserved-attributes/index.md b/content/glossary/reserved-attributes/index.md index c1dfd8a3d..f815a3734 100644 --- a/content/glossary/reserved-attributes/index.md +++ b/content/glossary/reserved-attributes/index.md @@ -26,7 +26,6 @@ Select an attribute to see an example of it in use. | [arc_description](/developers/api-reference/assets-api/) | brief description of Asset or Event being recorded | | [arc_display_name](/developers/api-reference/assets-api/) | friendly name identifier for Assets, Events, and policies | | [arc_display_type](/developers/api-reference/assets-api/) | classification of the type of Asset being traced that can be used for grouping or access control | -| arc_home_location_identity | physical location to which an Asset nominally 'belongs'. NOT related to the Asset's position in space. For that, use `arc_gis_*` (below) | | [arc_primary_image](/platform/overview/advanced-concepts/#the-primary-image) | an image attachment that will display as the thumbnail of an Asset | ## Asset-Event Attributes diff --git a/content/platform/administration/grouping-assets-by-location/EyeSymbol.png b/content/platform/administration/grouping-assets-by-location/EyeSymbol.png deleted file mode 100644 index 4d611499d..000000000 Binary files a/content/platform/administration/grouping-assets-by-location/EyeSymbol.png and /dev/null differ diff --git a/content/platform/administration/grouping-assets-by-location/LocationAddNew.png b/content/platform/administration/grouping-assets-by-location/LocationAddNew.png deleted file mode 100644 index e9c72f7a7..000000000 Binary files a/content/platform/administration/grouping-assets-by-location/LocationAddNew.png and /dev/null differ diff --git a/content/platform/administration/grouping-assets-by-location/LocationAdded.png b/content/platform/administration/grouping-assets-by-location/LocationAdded.png deleted file mode 100644 index b271bbb81..000000000 Binary files a/content/platform/administration/grouping-assets-by-location/LocationAdded.png and /dev/null differ diff --git a/content/platform/administration/grouping-assets-by-location/LocationAssetCreation.png b/content/platform/administration/grouping-assets-by-location/LocationAssetCreation.png deleted file mode 100644 index 4a5039fdd..000000000 Binary files a/content/platform/administration/grouping-assets-by-location/LocationAssetCreation.png and /dev/null differ diff --git a/content/platform/administration/grouping-assets-by-location/LocationAssetUpdate.png b/content/platform/administration/grouping-assets-by-location/LocationAssetUpdate.png deleted file mode 100644 index f29190858..000000000 Binary files a/content/platform/administration/grouping-assets-by-location/LocationAssetUpdate.png and /dev/null differ diff --git a/content/platform/administration/grouping-assets-by-location/LocationAttributes.png b/content/platform/administration/grouping-assets-by-location/LocationAttributes.png deleted file mode 100644 index 488844a17..000000000 Binary files a/content/platform/administration/grouping-assets-by-location/LocationAttributes.png and /dev/null differ diff --git a/content/platform/administration/grouping-assets-by-location/LocationDescribe.png b/content/platform/administration/grouping-assets-by-location/LocationDescribe.png deleted file mode 100644 index 69c854f43..000000000 Binary files a/content/platform/administration/grouping-assets-by-location/LocationDescribe.png and /dev/null differ diff --git a/content/platform/administration/grouping-assets-by-location/LocationDetails.png b/content/platform/administration/grouping-assets-by-location/LocationDetails.png deleted file mode 100644 index ce7b5de65..000000000 Binary files a/content/platform/administration/grouping-assets-by-location/LocationDetails.png and /dev/null differ diff --git a/content/platform/administration/grouping-assets-by-location/LocationForm.png b/content/platform/administration/grouping-assets-by-location/LocationForm.png deleted file mode 100644 index 4202f48f4..000000000 Binary files a/content/platform/administration/grouping-assets-by-location/LocationForm.png and /dev/null differ diff --git a/content/platform/administration/grouping-assets-by-location/LocationIdentity.png b/content/platform/administration/grouping-assets-by-location/LocationIdentity.png deleted file mode 100644 index a124733be..000000000 Binary files a/content/platform/administration/grouping-assets-by-location/LocationIdentity.png and /dev/null differ diff --git a/content/platform/administration/grouping-assets-by-location/LocationSubmitted.png b/content/platform/administration/grouping-assets-by-location/LocationSubmitted.png deleted file mode 100644 index 044f6a764..000000000 Binary files a/content/platform/administration/grouping-assets-by-location/LocationSubmitted.png and /dev/null differ diff --git a/content/platform/administration/grouping-assets-by-location/LocationUpdateComplete.png b/content/platform/administration/grouping-assets-by-location/LocationUpdateComplete.png deleted file mode 100644 index 378d19433..000000000 Binary files a/content/platform/administration/grouping-assets-by-location/LocationUpdateComplete.png and /dev/null differ diff --git a/content/platform/administration/grouping-assets-by-location/index.md b/content/platform/administration/grouping-assets-by-location/index.md deleted file mode 100644 index 664a16385..000000000 --- a/content/platform/administration/grouping-assets-by-location/index.md +++ /dev/null @@ -1,413 +0,0 @@ ---- -title: "Grouping Assets by Location" -description: "Adding a Location" -lead: "Adding a Location" -date: 2021-05-18T15:32:27+01:00 -lastmod: 2021-05-18T15:32:27+01:00 -draft: false -images: [] -menu: - platform: - parent: "administration" -weight: 47 -toc: true -aliases: - - ../quickstart/grouping-assets-by-location - - /docs/rkvst-basics/grouping-assets-by-location/ ---- - -Locations associate an Asset with a 'home' that can help when governing sharing policies with OBAC and ABAC. Locations do not need pinpoint precision and can be named by site, building, or other logical grouping. - -It may be useful to indicate an Asset's origin. For example, if tracking traveling consultant's laptops, you may wish to associate them with a 'home' office. - -{{< caution >}} -**Caution:** It is important to recognize that the location does not necessarily denote the Asset’s current position in space; it simply determines which facility the Asset belongs to. For things that move around, use GIS coordinates on Events instead. See [concept docs on locations](../../overview/advanced-concepts/#geolocation) for more information. -{{< /caution >}} - -## Creating a Location -{{< note >}} -**Note:** The Locations UI is not displayed in the side menu until after the first location has been created using the [API](/developers/api-reference/locations-api/). After this you can use the UI to create new locations but to update or delete a location you will still need to use the API -{{< /note >}} -1. Create your location -{{< tabs name="add_location_locations" >}} -{{{< tab name="UI" >}} -In the dashboard, select `Locations`, then `Add Location`. - -{{< img src="LocationAddNew.png" alt="Rectangle" caption="Adding a Location" class="border-0" >}} -{{< /tab >}} -{{< tab name="YAML" >}} -The DataTrails YAML runner is executed as a series of steps, each step representing a single operation with an `action`. - -In order to create a location, we use the action `LOCATIONS_CREATE_IF_NOT_EXISTS`. - -```yaml ---- -steps: - - step: - action: LOCATIONS_CREATE_IF_NOT_EXISTS -``` - -{{< /tab >}} -{{< tab name="JSON" >}} -Create an empty file, in later steps we will add the correct JSON - -```json -{ - -} -``` - -{{< /tab >}}} -{{< /tabs >}} - -1. Add information about the location you are creating -{{< tabs name="add_location_info_locations" >}} -{{{< tab name="UI" >}} -The following screen will appear: -{{< img src="LocationDescribe.png" alt="Rectangle" caption="The Location Webform" class="border-0" >}} -{{< /tab >}} -{{< tab name="YAML" >}} -You may add a `description` and a `selector`. The `selector` is the identifying attribute used to check if your location exists before attempting to create it. In this case, we use `display_name` which represents the name of the location. - -```yaml ---- -steps: - - step: - action: LOCATIONS_CREATE_IF_NOT_EXISTS - description: Create UK factory location. - selector: - - display_name -``` - -{{< /tab >}} -{{< tab name="JSON" >}} -You may add a `display_name` and `description` to identify your location. - -```json -{ - "display_name": "UK Factory", - "description": "Industrial Warehouse in Bristol Harbor" -} -``` - -{{< /tab >}}} -{{< /tabs >}} - -1. Enter the required location name and address, or in the case of YAML and JSON, coordinates -{{< tabs name="add_location_name_locations" >}} -{{{< tab name="UI" >}} -{{< img src="LocationForm.png" alt="Rectangle" caption="Adding the Location Details" class="border-0" >}} -{{< /tab >}} -{{< tab name="YAML" >}} -Use `latitude` and `longitude` to describe the physical location - -```yaml ---- -steps: - - step: - action: LOCATIONS_CREATE_IF_NOT_EXISTS - description: Create UK factory location. - selector: - - display_name - display_name: UK Factory - description: Industrial Warehouse in Bristol Harbor - latitude: 51.4477 - longitude: -2.5980 -``` - -{{< /tab >}} -{{< tab name="JSON" >}} -Use `latitude` and `longitude` to describe the physical location - -```json -{ - "display_name": "UK Factory", - "description": "Industrial Warehouse in Bristol Harbor", - "latitude": 51.4477, - "longitude": -2.5980 -} -``` - -{{< /tab >}}} -{{< /tabs >}} - -1. There is an option to add extended attributes to a location. This is useful to add metadata to a location, i.e. a site contact's number and email address -{{< tabs name="add_location_attributes_locations" >}} -{{{< tab name="UI" >}} -Use the `Extended Attributes` tab. -{{< img src="LocationAttributes.png" alt="Rectangle" caption="Adding Extended Attributes to a Location" class="border-0" >}} -{{< /tab >}} -{{< tab name="YAML" >}} -Like Assets and Events, locations may also have extended attributes added as key-value pairs - -```yaml ---- -steps: - - step: - action: LOCATIONS_CREATE_IF_NOT_EXISTS - description: Create UK factory location. - selector: - - display_name - display_name: UK Factory - description: Factory in Bristol Harbor - latitude: 51.4477 - longitude: -2.5980 - attributes: - address: Princes Wharf, Wapping Rd, Bristol BS1 4RN, UK - Primary_Contact: Jill Tiller - Primary_Mobile_Number: +447700900077 -``` - -{{< /tab >}} -{{< tab name="JSON" >}} -Like Assets and Events, locations may also have extended attributes added as key-value pairs - -```json -{ - "display_name": "UK Factory", - "description": "Industrial Warehouse in Bristol Harbor", - "latitude": 51.4477, - "longitude": -2.5980, - "attributes": { - "address": "Princes Wharf, Wapping Rd, Bristol BS1 4RN, UK", - "Primary_Contact": "Jill Tiller", - "Primary_Mobile_Number": "+447700900077" - } -} -``` - -{{< /tab >}}} -{{< /tabs >}} - -1. Complete your location -{{< tabs name="complete_location_locations" >}} -{{{< tab name="UI" >}} -Click `Add Location`. -{{< img src="LocationSubmitted.png" alt="Rectangle" caption="Submitting a Location" class="border-0" >}} -{{< /tab >}} -{{< tab name="YAML" >}} -Use the [archivist_runner](https://python.datatrails.ai/runner/index.html) to run your YAML file! - -```bash -$ archivist_runner \ - -u https://app.datatrails.ai \ - --client-id \ - --client-secret \ - UK_factory_location.yaml -``` - -{{< /tab >}} -{{< tab name="JSON" >}} -Use the curl command to run your JSON file! See instructions for [creating your `BEARER_TOKEN_FILE`](/developers/developer-patterns/getting-access-tokens-using-app-registrations/) here. - -```bash -curl -v -X POST \ - -H "@$HOME/.datatrails/bearer-token.txt" \ - -H "Content-type: application/json" \ - -d "@/path/to/jsonfile" \ - https://app.datatrails.ai/archivist/v2/locations -``` - -{{< /tab >}}} -{{< /tabs >}} - -1. View your locations -{{< tabs name="location_list_locations" >}} -{{{< tab name="UI" >}} -Navigate to `Locations` in the sidebar to see a list of existing locations. -{{< img src="LocationAdded.png" alt="Rectangle" caption="Managing a Location" class="border-0" >}} -{{< /tab >}} -{{< tab name="YAML" >}} - You can view all location data using the `LOCATIONS_LIST` action. Use the `print_response` keyword to get the full output - - ```yaml - --- - steps: - - step: - action: LOCATIONS_LIST - description: List all locations. - print_response: true - ``` - -{{< /tab >}} -{{< tab name="JSON" >}} -Use the [Locations API](/developers/api-reference/locations-api/) to GET a list of existing locations. - -```bash -curl -v -X GET \ - -H "@$HOME/.datatrails/bearer-token.txt" \ - https://app.datatrails.ai/archivist/v2/locations -``` - -{{< /tab >}}} -{{< /tabs >}} - -1. View details of the location you just created -{{< tabs name="specific_location_locations" >}} -{{{< tab name="UI" >}} -You can inspect details of a single location. Click the desired location row -{{< img src="LocationDetails.png" alt="Rectangle" caption="Viewing a Location" class="border-0" >}} -{{< /tab >}} -{{< tab name="YAML" >}} -The `LOCATIONS_LIST` action can be filtered using identifying attributes (`attrs`) to view the details of a specific location. - - ```yaml - --- - steps: - - step: - action: LOCATIONS_LIST - description: Display Location named UK Factory. - print_response: true - attrs: - arc_display_name: UK Factory - ``` - -{{< /tab >}} -{{< tab name="JSON" >}} -Use the [Locations API](/developers/api-reference/locations-api/) to GET the specific location by name. - -```bash -curl -v -X GET \ - -H "@$HOME/.datatrails/bearer-token.txt" \ - "https://app.datatrails.ai/archivist/v2/locations?display_name=UK%20Factory" -``` - -{{< /tab >}}} -{{< /tabs >}} - -## Assigning a Location to an Asset - -### Adding at Asset Creation - -To assign a pre-existing location to an Asset during Asset creation, you need only select it -{{< tabs name="add_at_asset_create" >}} -{{{< tab name="UI" >}} -Choose the desired location from the `Location` drop-down. -{{< img src="LocationAssetCreation.png" alt="Rectangle" caption="Creating an Asset with an Existing Location" class="border-0" >}} - -{{< /tab >}} -{{< tab name="YAML" >}} -A pre-existing location can be added during Asset creation, using the Location ID as an identifier (e.g. `locations/`). - -```yaml ---- -steps: - - step: - action: ASSETS_CREATE_IF_NOT_EXISTS - description: Create an asset with pre-existing Location. - asset_label: My First Container - selector: - - attributes: - - arc_display_name - behaviours: - - RecordEvidence - attributes: - arc_display_name: My First Container - arc_display_type: Shipping Container - arc_home_location_identity: - confirm: false -``` - -The YAML Runner also allows you to create new locations at Asset Creation. - -```yaml ---- -steps: - - step: - action: ASSETS_CREATE_IF_NOT_EXISTS - description: Create an asset. - asset_label: My First Container - selector: - - attributes: - - arc_display_name - behaviours: - - RecordEvidence - attributes: - arc_display_name: My First Container - arc_display_type: Shipping Container - location: - selector: - - display_name - display_name: UK Factory - description: Container Origin - latitude: 52.2025 - longitude: 0.1311 - attributes: - action: LOCATIONS_CREATE_IF_NOT_EXISTS - location_label: UK Factory - confirm: false -``` - -{{< /tab >}} -{{< tab name="JSON" >}} -A pre-existing location can be added during Asset creation, using the Location ID as an identifier (e.g. `locations/`). - -```json -{ - "behaviours": ["RecordEvidence"], - "attributes": { - "arc_display_name": "My First Container", - "arc_display_type": "Traffic light with violation camera", - "arc_home_location_identity": "locations/" - } -} -``` - -{{< /tab >}}} -{{< /tabs >}} - -### Adding to a pre-existing Asset - -1. To assign a pre-existing Asset with a new location, you need to identify the Location ID. To do this, view the location details by clicking the location row. -{{< img src="LocationIdentity.png" alt="Rectangle" caption="Location Identity" class="border-0" >}} -1. Then create an Event for the Asset and specify the identity of the new location as noted in step 1, against the `arc_home_location_identity` key - For more information on creating Events, please visit [Creating an Event Against an Asset](/platform/overview/creating-an-event-against-an-asset/). -{{< tabs name="add_to_asset" >}} -{{{< tab name="UI" >}} - -{{< img src="LocationAssetUpdate.png" alt="Rectangle" caption="Updating an Existing Asset with a new Location" class="border-0" >}} - -{{< /tab >}} -{{< tab name="YAML" >}} -The `EVENTS_CREATE` action must contain at least one key-value pair for `event_attributes`. -```yaml ---- -steps: - - step: - action: EVENTS_CREATE - description: Add Location to existing Asset. - asset_label: assets/ - operation: Record - behaviour: RecordEvidence - event_attributes: - new_event: Record Asset Location - asset_attributes: - arc_home_location_identity: locations/ - confirm: false -``` - -{{< /tab >}} -{{< tab name="JSON" >}} - -```json -{ - "operation": "Record", - "behaviour": "RecordEvidence", - "asset_attributes": { - "arc_home_location_identity": "locations/" - } -} -``` - -{{< note >}} -**Note** - The Event must be recorded against the appropriate `assets/` when the curl command is executed. [See Step 4 here for more details.](/platform/overview/creating-an-event-against-an-asset/) -{{< /note >}} - -{{< /tab >}}} -{{< /tabs >}} -{{< note >}} -**Note** - You need to include the full `locations/` reference as using only the `UUID` will not be recognized. -{{< /note >}} - -1. In the following screenshot, note the location of our Asset has been updated -{{< img src="LocationUpdateComplete.png" alt="Rectangle" caption="Completed update of Asset Location" class="border-0" >}} diff --git a/content/platform/administration/sharing-access-inside-your-tenant/index.md b/content/platform/administration/sharing-access-inside-your-tenant/index.md index ee36e0688..9b2c4c4b0 100644 --- a/content/platform/administration/sharing-access-inside-your-tenant/index.md +++ b/content/platform/administration/sharing-access-inside-your-tenant/index.md @@ -27,7 +27,7 @@ Specifically, ABAC policies are created by Administrators to share information w ABAC policies can be granular, with users only allowed to see single attributes at a time. -It is possible to control read and write access to Trails based on a combination of properties of the Trail as specified in the Asset attributes, such as type and location (eg: "all models trained in Gondwalaland") +It is possible to control read and write access to Trails based on a combination of properties of the Trail as specified in the Asset attributes, such as type (eg: "all physics models trained") By default, new users will not see any existing Trails or Events until an Administrator explicitly creates an ABAC policy to allow them. @@ -91,13 +91,13 @@ When adding a policy, you will see this form: Here you can apply policy filters to apply to specific Trails or groups of Trails. In this case, we shall apply the policy to any Asset with the type `Shipping Container`. -{{< img src="PolicyABACFilter.png" alt="Rectangle" caption="Filtering for specific Assets and Locations" class="border-0" >}} +{{< img src="PolicyABACFilter.png" alt="Rectangle" caption="Filtering for specific Assets" class="border-0" >}} {{< /tab >}} {{< tab name="JSON" >}} -Filters can use `and` or `or` to define scope. You may also use filters on attribute values, such as `=` and `!=` for equal and not equal, respectively. These can be used for specific attribute values, or to check if the value exists at all. For example, to filter for Assets not associated with a location, you could use: +Filters can use `and` or `or` to define scope. You may also use filters on attribute values, such as `=` and `!=` for equal and not equal, respectively. These can be used for specific attribute values, or to check if the value exists at all. For example, to filter for Assets not associated with any type, you could use: ```json -"attributes.arc_home_location_identity!=*" +"attributes.arc_display_type!=*" ``` The `*` is a wildcard that could represent any value. This will match not only on string values, but list and map values as well. @@ -111,16 +111,12 @@ Following our Shipping Container example, this is how we would set our Asset fil { "or": [ "attributes.your_custom_attribute=Your Value>" ]}, - { "or": [ - "attributes.arc_home_location_identity=locations/" - ]}, { "or": [ "attributes.arc_display_type=Shipping Container" ]} ] } ``` -[See here for instructions on finding your location ID.](/platform/administration/grouping-assets-by-location/) {{< note >}} **Note** We will not use the custom attribute any further as we build the example. {{< /note >}} @@ -155,7 +151,7 @@ There are a few ways you may add a `User` to your Access Policy using JSON. One ] ``` -You may also grant permissions to an [App Registration](/developers/developer-patterns/getting-access-tokens-using-app-registrations/) within your tenancy. App Registrations are non-root by default; best practice is to use ABAC policies to preserve Principle of Least Privilege. +You may also grant permissions to an [App Registration](/developers/developer-patterns/getting-access-tokens-using-app-registrations/) within your tenancy. App Registrations are non-root by default; best practice is to use ABAC policies to preserve Principle of Least Privilege. ```json "access_permissions": [ @@ -221,7 +217,7 @@ Add the desired permissions and the desired `user_attributes` {{< /tabs >}}
{{< note >}} **Note:** We have included DataTrails-significant attributes: `arc_display_name`, `arc_display_type` and `arc_primary_image` -`arc_*` attributes have special significance in DataTrails. +`arc_*` attributes have special significance in DataTrails. In this case, respectively, allowing visibility to the `Name`, `Type`, and `Image` of the Asset. Other `arc_*` attributes are also available. {{< /note >}} 1. Once complete, finish creating the Access Policy. @@ -244,7 +240,7 @@ curl -v -X POST \ {{< /tab >}}} {{< /tabs >}} -1. Check the Asset is appropriately shared +1. Check the Asset is appropriately shared Mandy should only be allowed to see the Asset's name, type, image, length, and weight attributes. {{< img src="PolicyABACMandyView.png" alt="Rectangle" caption="Mandy's view as a Non-Administrator" class="border-0" >}} diff --git a/content/platform/administration/sharing-access-outside-your-tenant/index.md b/content/platform/administration/sharing-access-outside-your-tenant/index.md index 1fc794056..4169b26b6 100644 --- a/content/platform/administration/sharing-access-outside-your-tenant/index.md +++ b/content/platform/administration/sharing-access-outside-your-tenant/index.md @@ -148,13 +148,13 @@ When adding a policy, you will see this form: Here you can apply policy filters to the correct Assets. In this case, we shall apply the policy to any Asset of the type `Shipping Container`. -{{< img src="PolicyOBACFilter.png" alt="Rectangle" caption="Filtering for specific Assets and Locations" class="border-0" >}} +{{< img src="PolicyOBACFilter.png" alt="Rectangle" caption="Filtering for specific Assets" class="border-0" >}} {{< /tab >}} {{< tab name="JSON" >}} -Filters can use `and` or `or` to categorize assets. You may also use filters on attribute values, such as `=` and `!=` for equal and not equal, respectively. These can be used for specific attribute values, or to check if the value exists at all. For example, to filter for Assets not associated with a location, you could use: +Filters can use `and` or `or` to categorize assets. You may also use filters on attribute values, such as `=` and `!=` for equal and not equal, respectively. These can be used for specific attribute values, or to check if the value exists at all. For example, to filter for Assets not associated with a type, you could use: ```json -"attributes.arc_home_location_identity!=*" +"attributes.arc_display_type!=*" ``` The `*` is a wildcard that could represent any value. This will match not only on string values, but list and map values as well. @@ -165,17 +165,12 @@ Following our Shipping Container example, this is how we would set our Asset fil { "display_name": "Mandy Inspect Policy", "filters": [ - { "or": [ - "attributes.arc_home_location_identity=locations/" - ]}, { "or": [ "attributes.arc_display_type=Shipping Container" ]} ] } ``` - -[See here for instructions on finding your location ID.](/platform/administration/grouping-assets-by-location/) {{< /tab >}}} {{< /tabs >}} @@ -232,9 +227,6 @@ Add the desired permissions and the Subject ID found in the previous step { "display_name": "Mandy Inspect Policy", "filters": [ - { "or": [ - "attributes.arc_home_location_identity=locations/" - ]}, { "or": [ "attributes.arc_display_type=Shipping Container" ]} @@ -252,7 +244,7 @@ Add the desired permissions and the Subject ID found in the previous step {{< /tab >}}} {{< /tabs >}}
- **Note** we have included DataTrails-significant attributes: `arc_display_name`, `arc_display_type` and arc_primary_image. + **Note** we have included DataTrails-significant attributes: `arc_display_name`, `arc_display_type` and arc_primary_image. `arc_*` attributes have special significance in DataTrails. In this case, respectively, allowing visibility to the Name and Type of the Asset. Other `arc_*` attributes are also available. 1. Once complete, finish creating the Access Policy diff --git a/content/platform/overview/creating-an-asset/index.md b/content/platform/overview/creating-an-asset/index.md index 10b506684..fccac2449 100644 --- a/content/platform/overview/creating-an-asset/index.md +++ b/content/platform/overview/creating-an-asset/index.md @@ -57,7 +57,7 @@ Create an empty file, in later steps we will add the correct JSON. ```json { - + } ``` @@ -83,11 +83,11 @@ steps: - step: action: ASSETS_CREATE_IF_NOT_EXISTS description: Create an asset. - asset_label: My First Container - selector: - - attributes: + asset_label: My First Container + selector: + - attributes: - arc_display_name - behaviours: + behaviours: - RecordEvidence ``` @@ -123,14 +123,14 @@ steps: - step: action: ASSETS_CREATE_IF_NOT_EXISTS description: Create an asset. - asset_label: My First Container - selector: - - attributes: + asset_label: My First Container + selector: + - attributes: - arc_display_name - behaviours: + behaviours: - RecordEvidence - attributes: - arc_display_name: My First Container + attributes: + arc_display_name: My First Container arc_display_type: Shipping Container ``` @@ -168,8 +168,6 @@ Select `Add Attribute`, and add your key-value pairs. {{< tab name="YAML" >}} Extended attributes are custom key-value pairs, such as `Width`, `Length`, and `Height` you see below. -This example also adds a location to our asset. To find out more about locations, [click here](/platform/administration/grouping-assets-by-location/). - ```yaml --- @@ -177,26 +175,19 @@ steps: - step: action: ASSETS_CREATE_IF_NOT_EXISTS description: Create an asset. - asset_label: My First Container - selector: - - attributes: + asset_label: My First Container + selector: + - attributes: - arc_display_name - behaviours: + behaviours: - RecordEvidence - attributes: - arc_display_name: My First Container + attributes: + arc_display_name: My First Container arc_display_type: Shipping Container arc_description: Originally shipped from Shanghai Width: "2.43m" Length: "6.06m" Height: "2.59m" - location: - selector: - - display_name - display_name: Parkside Junction - description: Box intersection between Mill Road and East Road - latitude: 52.2025 - longitude: 0.1311 confirm: false ``` @@ -204,8 +195,6 @@ steps: {{< tab name="JSON" >}} Extended attributes are custom key-value pairs, such as `Width`, `Length`, and `Height` you see below. -This example also adds a location to our Asset. To find out more about locations and how to find your Location ID, [click here](/platform/administration/grouping-assets-by-location/). - ```json { "behaviours": ["RecordEvidence"], @@ -215,8 +204,7 @@ This example also adds a location to our Asset. To find out more about locations "arc_description": "Originally shipped from Shanghai", "Width": "2.43m", "Length": "6.06m", - "Height": "2.59m", - "arc_home_location_identity": "locations/" + "Height": "2.59m" } } ``` @@ -309,7 +297,7 @@ steps: {{< /tab >}} {{< tab name="JSON" >}} -Details of a specific asset can be retrieved using identifying attributes (`attrs`), such as name, type, or presence of a certain field. +Details of a specific asset can be retrieved using identifying attributes (`attrs`), such as name, type, or presence of a certain field. ```bash curl -g -v -X GET \ diff --git a/content/platform/overview/registering-a-document-profile-asset/index.md b/content/platform/overview/registering-a-document-profile-asset/index.md index ae39e4a0f..330329a43 100644 --- a/content/platform/overview/registering-a-document-profile-asset/index.md +++ b/content/platform/overview/registering-a-document-profile-asset/index.md @@ -6,7 +6,7 @@ date: 2023-06-29T15:11:03+01:00 lastmod: 2023-06-29T15:11:03+01:00 draft: false images: [] -menu: +menu: platform: parent: "overview" weight: 35 @@ -52,16 +52,16 @@ Create an empty file, in later steps we will add the correct JSON. ```json { - + } ``` {{< /tab >}} {{< /tabs >}}
-1. You will see the Document Registration form - The `Document Information` tab is where you enter the information that is required by the document profile. You have the option to drag your document into the Auto-fill box or you can enter the information into the form manually. - The Trust data: +1. You will see the Document Registration form + The `Document Information` tab is where you enter the information that is required by the document profile. You have the option to drag your document into the Auto-fill box or you can enter the information into the form manually. + The Trust data: * `Name` - This is the unique name of the Document i.e. 'My First Document' * `Version` - The version of your document @@ -69,7 +69,7 @@ Create an empty file, in later steps we will add the correct JSON. Additional options: * `Upload on Creation` - Upload the document in addition to the trust data - * `Attest Publicly` - Enable to allow public attestation of the document
+ * `Attest Publicly` - Enable to allow public attestation of the document
{{< tabs name="add_asset_details" >}} {{{< tab name="UI" >}} @@ -88,15 +88,15 @@ steps: - step: action: ASSETS_CREATE_IF_NOT_EXISTS description: Create an asset. - asset_label: My First Document - selector: - - attributes: + asset_label: My First Document + selector: + - attributes: - arc_display_name - behaviours: + behaviours: - RecordEvidence public: true - attributes: - arc_display_name: My First Document + attributes: + arc_display_name: My First Document arc_profile: Document document_hash_value: ff2f6191ec870e5120a94795274068f520168108cb8fc87f1239ffa72bd2550c document_hash_alg: sha256 @@ -119,7 +119,7 @@ In the file you created earlier, begin adding metadata for your Asset: "document_hash_value": "ff2f6191ec870e5120a94795274068f520168108cb8fc87f1239ffa72bd2550c", "document_hash_alg":"sha256", "document_version":"1" - }, + }, "behaviours": ["RecordEvidence"], "public": true } @@ -148,15 +148,15 @@ steps: - step: action: ASSETS_CREATE_IF_NOT_EXISTS description: Create an asset. - asset_label: My First Document - selector: - - attributes: + asset_label: My First Document + selector: + - attributes: - arc_display_name - behaviours: + behaviours: - RecordEvidence public: true - attributes: - arc_display_name: My First Document + attributes: + arc_display_name: My First Document arc_profile: Document document_hash_value: ff2f6191ec870e5120a94795274068f520168108cb8fc87f1239ffa72bd2550c document_hash_alg: sha256 @@ -190,9 +190,9 @@ The DataTrails API uses the reserved attributes `arc_display_name` and `arc_disp Extended attributes are user-defined and can be added to each unique Document. - Not all Documents of a specific type need to have the same extended attributes, but in most cases it is better to do so for consistency. + Not all Documents of a specific type need to have the same extended attributes, but in most cases it is better to do so for consistency. - To add a new attribute to a Document, enter your key-value pair. + To add a new attribute to a Document, enter your key-value pair. For Example: {{< tabs name="add_extended_attributes" >}} @@ -203,8 +203,6 @@ Select `Add Attribute`, and add your key-value pairs {{< tab name="YAML" >}} Extended attributes are custom key-value pairs, such as `document_version`, `format`, and `some_custom_attribute` you see below. -This example also adds a location to our asset. To find out more about locations, [click here](/platform/administration/grouping-assets-by-location/). - It's also good practice to include `confirm: true` which tells DataTrails to finish committing the Asset before moving to the next step. ```yaml @@ -213,15 +211,15 @@ steps: - step: action: ASSETS_CREATE_IF_NOT_EXISTS description: Create an asset. - asset_label: My First Document - selector: - - attributes: + asset_label: My First Document + selector: + - attributes: - arc_display_name - behaviours: + behaviours: - RecordEvidence public: true - attributes: - arc_display_name: My First Document + attributes: + arc_display_name: My First Document arc_display_type: Promotional Material arc_profile: Document arc_description: PUBLIC promotional document @@ -238,8 +236,6 @@ steps: {{< tab name="JSON" >}} Extended attributes are custom key-value pairs, such as `document_version`, `format`, and `some_custom_attribute` you see below. -This example also adds a location to our Asset. To find out more about locations and how to find your Location ID, [click here](/platform/administration/grouping-assets-by-location/). - ```json { "attributes": { @@ -353,7 +349,7 @@ Each {{< /tab >}} {{< tab name="JSON" >}} -Details of a specific asset can be retrieved using identifying attributes (`attrs`), such as name, type, or presence of a certain field. +Details of a specific asset can be retrieved using identifying attributes (`attrs`), such as name, type, or presence of a certain field. ```bash curl -g -v -X GET \