- Home
- WITSMLstudio
- WITSMLstudio Portal
- ETP Browser User Guide
The ETP Browser is a client application plug-in for PDS WITSMLstudio Desktop. It enables users to connect to any ETP server and send ETP protocol messages. It consists of two sets of tabs for Request and Response functionality.
Request Tabs (Left pane)
- 0 - Core - manages connections to an ETP server and the configuration of requested protocols
- 1 - Streaming - provides the ability to Describe object URIs and stream their historical and real-time channel data
- 3 - Discovery - displays the resource hierarchy of existing data in the server for each supported ML/version using the Discovery protocol
- 4 - Store - provides a structured editor for sending Store protocol messages
- 5 - JSON Message - provides a free-form editor for sending ETP messages
Response Tabs (Right pane)
- Results - displays the result of an ETP function call and streaming values
- Data Object - displays the Data Object XML portion of the response received from the ETP server
- ETP Messages - displays the ETP messages sent and received
Core manages connections to an ETP server and the configuration needed to establish an ETP session, e.g. requested protocols.

Core
- Connections
- Request Session
- Server Capabilities
Streaming provides the ability to describe object URIs and stream their historical and real-time channel data.

Streaming
Consists of the following fields:
- Max Data Items - sets the maxDataItems in the Start message of ChannelStreaming and limits the number of data points in a single message
- Max Msg Rate - sets the maxMessageRate in the Start message of ChannelStreaming. This tells the server to not send two channel messages within a smaller window than this value (in milliseconds)
- URI - refers to a single channel or a higher level object, such as a well, wellbore, or log. After typing or pasting a value in the text box click “Add” to add the URI to the URI List
- URI List - an array of URIs that will be used for describing and streaming
Streaming Types
- Latest Value - this will start channel streaming from the latest values on all the channels identified from the Describe
- Index Count - this will stream the last n values on all the channels identified from the Describe
- Time Index - this can be used to either start streaming from a particular point in time by just setting the Start Time or by doing a Range Request by specifying both start and end time
- Depth Index - this can be used to either start streaming from a particular index point by just setting the Start Index or by doing a Range Request by specifying both start and end index
Buttons
- Start - sends a Start message for ChannelStreaming using the current ETP session
- Describe - sends a Describe message using the URI list as an array of URIs
- Start Streaming - sends a channelStreamingStart message all the channels identified from the Describe
- Stop Streaming - sends a channelStreamingStop message all the channels identified from the Describe
- Request Range - sends a channelRanges message for all the channels identified from the Describe with the StartIndex and EndIndex values from the “Time Index” and “Depth Index” fields
Discovery provides a hierarchical view of existing data in the server and a context menu with several options
Discovery
Displays the resource hierarchy of existing data in the server for each supported ML/version using the Discovery protocol.

Hierarchy
- Base URI - enter a URI whose child resources will populate the hierarchy
- Get - issue a GetResources request for the server to enumerate child resources of the given URI
- Tree - displays a tree representing a hiearchical view of existing child resources of the given URI
Hierarchy Context Menu
Right-click a node to display a context menu with the following options:
- Get Object - issue a GetObject message for the current node. The result of the operation will be displayed in the Results tab.
- Delete Object - issue a DeleteObject message for the selected node. The result of the operation will be displayed in the Results tab.
- Copy URI - copy the URI of the selected node to clipboard.
- Copy URI to Store - copy the URI of the selected node to the URI input on the Store tab
- Copy URI to Streaming - add the URI of the selected node to the URI List on the Streaming tab
- Refresh - query the server and refresh the selected node and it’s children
- Refresh All - query the server and refresh the hierarchy
Store provides a structured editor for sending Store protocol messages.

Store
Consists of the following fields:
- URI - address for the data object in the Data Object (XML) field
- UUID - a universally unique identifier for the data object in the Data Object (XML) field. The “New” button to the right will generate a new UUID
- Name - the name attribute of the WITSML object in the Data Object (XML) field
- Content Type - the content type of the WITSML object in the Data Object (XML) field
- Data Object (XML) - text field to enter the XML of the data object for the Store call. If an XML object is pasted into this field, the above fields will be automatically populated with the values based on data from the XML.
Buttons
- ETP Store Message picklist (default GetObject) - a list of ETP Store messages to select
- GetObject - by selecting “GetObject” and clicking Execute, a GetObject message request is sent to return a data object identified by the URI from the store
- PutObject - by selecting “PutObject” and clicking Execute, a PutObject message request is sent to insert or update a data object in the store
- DeleteObject - by selecting “DeleteObject” and clicking Execute, a DeleteObject message request is sent to delete a data object in the store
- Execute - sends a request of the selected Store message
- Clear - clears all data input fields
JSON Message enables building of ETP messages using templates or freely by hand. Once the message is built, it is sent to the ETP server by clicking “Send Message”.

New Header
By clicking this button, ETP Browser will generate a new header with an incremented messageId.
Message Type Selector
The combo box allows any message type to be selected and will populate the Header and Message text box with the empty template.
Send Message
By clicking this button, ETP Browser will send the Header and Message to the server via the current ETP session.
Context Menu
Right-click within either section to display a context menu with the following options:

- Cut - copies selected text to the clipboard and deletes it from the screen
- Copy - copies selected text to the clipboard
- Paste - paste the contents of the clipboard to the highlighted section
- Select All - selects the entire content
- Copy All - copies the entire content to the clipboard
- Replace - replaces all text with the contents of the clipboard
- Clear - removes all content
- Word Wrap - toggles word wrapping on or off
The right pane of the ETP Browser consist of the Results and ETP Messages tabs. These tabs are populated by sent ETP messages and their responses.
Results
Displays a server’s response to an ETP message and streaming data.

Data Object
Displays the Data Object XML portion of the response received from the ETP server.

ETP Messages
Displays the raw ETP messages sent to and received from the ETP server.

Context Menu
Right-click within either tab to display a context menu with the following options:

- Cut - copies selected text to the clipboard and deletes it from the screen
- Copy - copies selected text to the clipboard
- Paste - paste the contents of the clipboard to the highlighted section
- Select All - selects the entire content
- Copy All - copies the entire content to the clipboard
- Replace - replaces all text with the contents of the clipboard
- Clear - removes all content
- Word Wrap - toggles word wrapping on or off