Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add documentation on the URL structure for deeplinking📘 #2553 #2578

Merged
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
169 changes: 169 additions & 0 deletions Docs/deep_linking.md
eliasbruvik marked this conversation as resolved.
Show resolved Hide resolved
eliasbruvik marked this conversation as resolved.
Show resolved Hide resolved
eliasbruvik marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
# URL structure for deeplinking

This describes the structure of the URL so that it is easy for developers to create deep links from other applications directly to a well/wellbore/object/curve data etc.

eliasbruvik marked this conversation as resolved.
Show resolved Hide resolved
## Paramemter encoding:

All server and uid parameters must be URL encoded.

## Common parameters:
### objectGroup

This paramater can have values:
- BhaRun
- ChangeLog
- FluidsReport
- FormationMarker
- Message
- MudLog
- Log
- Rig
- Risk
- Trajectory
- Tubular
- WbGeometry

### logType

This paramater can have values:
- time
- depth

### filterType

This paramater can have values:
- Wellbore
- Log
- Rig
- Service%20Company

## Navigation paths:

### Wells View
/servers/:serverUrl/wells

### Wellbores View
/servers/:serverUrl/wells/:wellUid/wellbores

### Object Groups
/servers/:serverUrl/wells/:wellUid/wellbores/:wellboreUid/objectgroups

### Objects View
/servers/:serverUrl/wells/:wellUid/wellbores/:wellboreUid/objectgroups/:objectGroup/objects

### Object View
/servers/:serverUrl/wells/:wellUid/wellbores/:wellboreUid/objectgroups/:objectGroup/objects/:objectUid

### Log Types View
/servers/:serverUrl/wells/:wellUid/wellbores/:wellboreUid/objectgroups/:objectGroup/logtypes

### Log Objects View
/servers/:serverUrl/wells/:wellUid/wellbores/:wellboreUid/objectgroups/:objectGroup/logtypes/:logType/objects

### Log Object View
/servers/:serverUrl/wells/:wellUid/wellbores/:wellboreUid/objectgroups/:objectGroup/logtypes/:logType/objects/:objectUid

### Filtering Rows Of Views

Most pages can receive a filter to filter the rows of the table in that page. Those filters are added at the end of the url.
For example showing only rows where parameter "name" has value "test":

?filter={"name":"test"}

Url encoded version which needs to be used:

%3Ffilter%3D%7B%22name%22%3A%22test%22%7D
eliasbruvik marked this conversation as resolved.
Show resolved Hide resolved


### Log Curve Values View
/servers/:serverUrl/wells/:wellUid/wellbores/:wellboreUid/objectgroups/:objectGroup/logtypes/:logType/objects/:objectUid/curvevalues
eliasbruvik marked this conversation as resolved.
Show resolved Hide resolved

#### Additional params for searching
eliasbruvik marked this conversation as resolved.
Show resolved Hide resolved

If there is a need to search in result, following parameters need to be filled up:
eliasbruvik marked this conversation as resolved.
Show resolved Hide resolved

- startIndex
- endIndex
- mnemonics

StartIndex and endIndex could be numbers for depth based logs or datetime in ISO format - "YYYY-MM-DDTHH:mm:ss.sssZ" for time based logs

Samples:

##### Time sample:
?startIndex=2024-09-06T00:00:00Z&endIndex=2024-09-06T00:01:00Z&mnemonics=["mnem1","mnem2","mnem3","mnem4"]

url encoded version which should be used:
%3FstartIndex%3D2024-09-06T00%3A00%3A00Z%26endIndex%3D2024-09-06T00%3A01%3A00Z%26mnemonics%3D%5B%22mnem1%22%2C%22mnem2%22%2C%22mnem3%22%2C%22mnem4%22%5D
eliasbruvik marked this conversation as resolved.
Show resolved Hide resolved

In the sample above we combine mnemonics "mmem1", "mmem2", "mmem3", "mmen4" for the selected time interval

##### Depth sample:

?startIndex=1&endIndex=4&mnemonics=["mnem1","mnem2","mnem3","mnem4"]

url encoded version which should be used:
%3FstartIndex%3D1%26endIndex%3D4%26mnemonics%3D%5B%22mnem1%22%2C%22mnem2%22%2C%22mnem3%22%2C%22mnem4%22%5D
eliasbruvik marked this conversation as resolved.
Show resolved Hide resolved

### Multi Logs Curve Info List View
/servers/:serverUrl/wells/:wellUid/wellbores/:wellboreUid/objectgroups/:objectGroup/logtypes/:logType/multilogs"
eliasbruvik marked this conversation as resolved.
Show resolved Hide resolved


#### Additional params for searching
eliasbruvik marked this conversation as resolved.
Show resolved Hide resolved

If there is a need to search in result, following parameter needs to be filled up:
eliasbruvik marked this conversation as resolved.
Show resolved Hide resolved

- logs

StartIndex and endIndex could be numbers for depth based logs or datetime in ISO format - "YYYY-MM-DDTHH:mm:ss.sssZ" for time based logs

Sample:

?logs=["323f827b-c849-4b14-a1c3-ba207848f29c","701f5f00-bdb5-4937-8350-1975240ce432"]

and url-encoded version, which should be used:

?logs=%5B%22323f827b-c849-4b14-a1c3-ba207848f29c%22%2C%22701f5f00-bdb5-4937-8350-1975240ce432%22%5D

In the sample above we combine 2 logs with uid "323f827b-c849-4b14-a1c3-ba207848f29c" and with uid "701f5f00-bdb5-4937-8350-1975240ce432".


### Multi Logs Curve Values
/servers/:serverUrl/wells/:wellUid/wellbores/:wellboreUid/objectgroups/:objectGroup/logtypes/:logType/multilogs/curvevalues"
eliasbruvik marked this conversation as resolved.
Show resolved Hide resolved

#### Additional params for searching

If there is a need to search in result, following parameters need to be filled up:
eliasbruvik marked this conversation as resolved.
Show resolved Hide resolved

- startIndex
- endIndex
- mnemonics

StartIndex and endIndex could be numbers for depth based logs or datetime in ISO format - "YYYY-MM-DDTHH:mm:ss.sssZ" for time based logs

Samples:

##### Time sample:
?startIndex=2024-09-06T00:00:00.000Z&endIndex=2024-09-06T00:01:00.000Z&mnemonics={"323f827b-c849-4b14-a1c3-ba207848f29c":["mnem1"],"701f5f00-bdb5-4937-8350-1975240ce432":["mnem2"]}

url encoded version which should be used:
%3FstartIndex%3D2024-09-06T00%3A00%3A00.000Z%26endIndex%3D2024-09-06T00%3A01%3A00.000Z%26mnemonics%3D%7B%22323f827b-c849-4b14-a1c3-ba207848f29c%22%3A%5B%22mnem1%22%5D%2C%22701f5f00-bdb5-4937-8350-1975240ce432%22%3A%5B%22mnem2%22%5D%7D
eliasbruvik marked this conversation as resolved.
Show resolved Hide resolved

In the sample above we combine mnemonics "mmem1" from log with uid "323f827b-c849-4b14-a1c3-ba207848f29c" and "mmem2" from log with uid "701f5f00-bdb5-4937-8350-1975240ce432".

##### Depth sample:

?1&endIndex=4&mnemonics={"55823e08-6232-43a8-8e77713bc469-6674":["mnem3"],"bc498d56-84f6-4c63-b1af-d845be3e6961":["mnem4"]}

url encoded version which should be used:
%3F1%26endIndex%3D4%26mnemonics%3D%7B%2255823e08-6232-43a8-8e77713bc469-6674%22%3A%5B%22mnem3%22%5D%2C%22bc498d56-84f6-4c63-b1af-d845be3e6961%22%3A%5B%22mnem4%22%5D%7D
eliasbruvik marked this conversation as resolved.
Show resolved Hide resolved

### Jobs View
/servers/:serverUrl/jobs

### Query View
/servers/:serverUrl/query

### Search View
/servers/:serverUrl/search/:filterType
eliasbruvik marked this conversation as resolved.
Show resolved Hide resolved

3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,9 @@ Please visit [API client access](/Docs/APICLIENT.md).
## Enable HTTP WITSML servers
Please see [enable HTTP](/Docs/enable_http.md).

## URL structure for deeplinking
Please see [deep linking](/Docs/deep_linking.md).

## Community
Please read and respect the [CODE OF CONDUCT](/CODE_OF_CONDUCT.md)

Expand Down