- Fixed MacOS release and moved UCL site into repository Reviewed-on: #3 Co-authored-by: Leon Mika <lmika@lmika.org> Co-committed-by: Leon Mika <lmika@lmika.org>
		
			
				
	
	
		
			153 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			153 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Getting Around
 | |
| 
 | |
| After selecting a table, Dynamo-Browse will perform a scan and present the results in the default view mode.
 | |
| 
 | |
| <figure class="screenshot">
 | |
|   <img src="/images/dynamo-browse/main-item-view.png" alt="Main item view">
 | |
| </figure>
 | |
| 
 | |
| This mode consists of three panes:
 | |
| 
 | |
| - The top pane displays the result-set of the last scan or query.  The table name is at the top-left.
 | |
| - The middle pane displays the attributes of the currently selected item, along with their type.
 | |
| - The bottom pane displays the current query or filter, plus any messages.  Prompts for input will
 | |
|   also appear at the bottom.
 | |
| 
 | |
| The result-set is sorted in ascending order based on the value and type of the partition and sort key.
 | |
| Up to 1,000 rows will be displayed for the current result-set.
 | |
| 
 | |
| Since DynamoDB does not require all items to have the same attribute (unless they are pre-defined), any
 | |
| attribute not set for a column is indicated with a grey tilde character `~`.
 | |
| 
 | |
| Use the following keys to change the currently selected row, which is highlighted in purple:
 | |
| 
 | |
| - <kbd>↑</kbd>/<kbd>i</kbd>: Move selection up
 | |
| - <kbd>↓</kbd>/<kbd>k</kbd>: Move selection down
 | |
| - <kbd>PgUp</kbd>/<kbd>⇧I</kbd>: Page up
 | |
| - <kbd>PgDn</kbd>/<kbd>⇧K</kbd>: Page down
 | |
| - <kbd>Home</kbd>/<kbd>0</kbd>: First row
 | |
| - <kbd>End</kbd>/<kbd>$</kbd>: Last row
 | |
| 
 | |
| The columns of the table 
 | |
| consist of the top-level attributes of the result-set.  The partition key, sort key, plus any explicitly defined
 | |
| attributes will always be displayed from the left margin onwards.  The other attributes are determined
 | |
| from the results of the last scan or query, and may change depending on the result.
 | |
| 
 | |
| The display columns of the table can be scrolled across by using the following keys:
 | |
| 
 | |
| - <kbd>←</kbd>/<kbd>j</kbd>: Scroll to the left
 | |
| - <kbd>→</kbd>/<kbd>l</kbd>: Scroll to the right
 | |
| 
 | |
| The attributes of the currently selected item will appear in the middle pane.  Both the type and the value of each
 | |
| attribute will be displayed.  Any nested attributes will be indented, and will below their parent item.  A value
 | |
| displayed in grey does not represent the actual value of the item, but indicates some meta-information about the item,
 | |
| such as the length.
 | |
| 
 | |
| ## The Back-stack
 | |
| 
 | |
| Changes to the view of Dynamo-Browse will be maintained in back-stack, similar to how a
 | |
| web-browse keeps track of the webpages you've visited.  This stack will record the
 | |
| currently viewed table, filter, or query, allowing you to "go back" to a previous view
 | |
| by pressing <kbd>Backspace</kbd>.  Pressing <kbd>\\</kbd> will allow you to go forward through the stack.
 | |
| 
 | |
| The back-stack is preserved in the workspace file, and can be restored by launching Dynamo-Browse with the `-w`
 | |
| switch.  Launching Dynamo-Browse with a workspace that has a non-empty stack will restore the last viewed
 | |
| table, filter, or query from the session that was previously using the workspace.
 | |
| 
 | |
| {{<hint info>}}
 | |
|   **Note:** the back-stack does not preserve the actual items in the workspace.  Going backwards or forwards
 | |
|   through the back-stack will execute any queries or filters against the actual table itself.
 | |
| {{</hint>}}
 | |
| 
 | |
| ## Adjusting The Layout
 | |
| 
 | |
| The horizontal size of the item table and currently selected item pane can be changed to one of the
 | |
| following layout configurations:
 | |
| 
 | |
| - Item view taking up 14 rows on the bottom with the table pane taking up the rest of the vertical space (the default)
 | |
| - Item view and table view taking up half of the available space
 | |
| - Table view taking up 7 rows on the top with the item view taking up the rest of the vertical space
 | |
| - Table view hidden
 | |
| - Item view hidden
 | |
| 
 | |
| Pressing <kbd>w</kbd> will cycle forward though these layouts.  For example, while in the
 | |
| default layout, pressing <kbd>w</kbd> will switch to the second layout, where both the table view take up half the
 | |
| screen.  Pressing <kbd>⇧W</kbd> will cycle through the layouts in the reverse order.
 | |
| 
 | |
| ## Adjusting The Displayed Columns
 | |
| 
 | |
| The columns of the result-set can be adjusted by opening up the _Fields Popup_.  This popup can be opened by pressing <kbd>f</kbd>.
 | |
| 
 | |
| <figure class="screenshot">
 | |
|   <img src="/images/dynamo-browse/fields-popup.png" alt="dynamo-browse">
 | |
| </figure>
 | |
| 
 | |
| While this popup is opened, the following changes can be applied to the displayed columns of the main table:
 | |
| 
 | |
| - Columns can be hidden
 | |
| - The order columns appear in the main table can be rearranged 
 | |
| - New columns can be added
 | |
| 
 | |
| The popup will display the list of columns of the main result-set table.  Pressing <kbd>↑</kbd>/<kbd>i</kbd>
 | |
| or <kbd>↓</kbd>/<kbd>k</kbd> will move the selection indicator to the column to apply the operation.  Pressing
 | |
| <kbd>←</kbd>/<kbd>j</kbd> or <kbd>→</kbd>/<kbd>l</kbd> will scroll the main table left or right so that any
 | |
| operations can be previewed.
 | |
| 
 | |
| To reset the columns to the top-level fields of the current result set, press <kbd>⇧R</kbd>.
 | |
| 
 | |
| To close the popup, press <kbd>Escape</kbd>.
 | |
| 
 | |
| ### Showing And Hiding Columns
 | |
| 
 | |
| In the Fields Popup, each row has a symbol indicating whether the row is currently visible (`.`) or hidden (`✕`).  Pressing
 | |
| <kbd>Space</kbd> will toggle whether the currently selected column is shown or hidden.
 | |
| 
 | |
| ### Re-arranging The Order Of Columns
 | |
| 
 | |
| The currently selected row can be moved up or down the table.  This will move the corresponding column in the main table either
 | |
| left or right.
 | |
| 
 | |
| Press <kbd>⇧I</kbd> to the selected row up, which will move the corresponding column left.
 | |
| 
 | |
| Press <kbd>⇧K</kbd> to the selected row down, which will move the corresponding column right.
 | |
| 
 | |
| ### Adding And Removing Columns
 | |
| 
 | |
| New columns can be added in the table.  The value of these columns will be determined by the result of a query expression,
 | |
| and can be used to expose fields that are not at the top level.
 | |
| 
 | |
| Any nested fields of maps or lists will not be included as a column by default.  Consider, for example, a table of books
 | |
| with authors structured as so:
 | |
| 
 | |
| ```
 | |
| {
 | |
|   "book": {"S": "The Lord Of The Rings"},
 | |
|   "author": {"M": {
 | |
|     "firstName": {"S": "John"},
 | |
|     "middleName": {"S": "Ronald Reuel"},
 | |
|     "lastName": {"S": "Tolkien"},
 | |
|   }}
 | |
| }
 | |
| ```
 | |
| 
 | |
| If you wanted to show the the author's first and last name in the main table, rather than just see the description `(3 items)`, you
 | |
| can add a new column with an expression selecting the fields of the author map.  The expressions that can be used here
 | |
| are as follows:
 | |
| 
 | |
| - First name: `author.firstName`
 | |
| - Last name: `author.lastName` 
 | |
| 
 | |
| This can be extended to expressions that perform comparisons or operations.  For example, the expression `author.firstName ^= "J"` can be
 | |
| use in a new column to display `True` for any first name that begins with a J.
 | |
| 
 | |
| To add a new column, press <kbd>a</kbd> while the Fields Popup is visible.  You'll be prompted to enter a query expression,
 | |
| which will be evaluated over each row within the result-set when displaying the table.
 | |
| 
 | |
| Any column, that was either retrieved from the result-set or added by the user, can be deleted by selecting the column
 | |
| within the Fields Popup and pressing <kbd>d</kbd>. 
 | |
| 
 | |
| ## Entering Commands
 | |
| 
 | |
| Commands can be entered by pressing <kbd>:</kbd> and entering the command, with any arguments, at the prompt.
 | |
| 
 | |
| The list of available commands can be found within the [reference section](/docs/reference/#commands). |