Skip to content

Tool Extension

Mark Ivan Basto edited this page May 20, 2021 · 2 revisions

Tool Extensions can be implemented as a modal window (through Protocol for Results activation) or as a background task (through App Services).

Currently, Tool extensions can only process files (as of v1.8.4) and directories (as of v1.8.5). (Workspaces and AppLinks will be supported in a future update.)

Details

APP MANIFEST

Property Data Type Remarks
Name string required; Set this to com.jumppoint.ext.tool
Link string App Link that will be invoked by Jump Point if tool is a modal window. Link takes precedence over Service.
Service string App Service that will be invoked by Jump Point if tool is a background task
Group string optional; default - empty; Tool's group name
FileTypes string optional; default - empty; Semicolon delimited list of file types supported by the tool. Empty means that the tool does not support files. If you want to support all file types, set this to .
IncludeFileTokens bool optional; default - false; If your app does not have broadFileSystemAccess capability, you could request file tokens from Jump Point that your app could redeem through SharedStorageAccessManager. Note that even if IncludeFileTokens is false, Jump Point will still include tokens for files that have unmounted paths.
SupportsDirectories bool optional; default - false;

Here is the snippet for the MD5 Hash tool available in Jump Point

<uap3:Extension Category="windows.appExtension">
  <uap3:AppExtension Id="tool.hash.md5"
                     Name="com.jumppoint.ext.tool"
                     DisplayName="MD5"
                     Description="Compute the MD5 hash of a file"
                     PublicFolder="Extensions\Tool\Hash">
    <uap3:Properties>
      <Link>jumppoint-tool://hash/?function=MD5</Link>
      <Group>Hash Functions</Group>
      <FileTypes>.</FileTypes>
    </uap3:Properties>
  </uap3:AppExtension>
</uap3:Extension>

DATA SENT TO TOOL

Jump Point will send the item details to your tool as a ValueSet that can be accessed through ProtocolForResultsActivatedEventArgs.Data

If the user has selected a single item, the data that your app will receive will be:

Key Data Type Remarks
Type string JumpPointItemType: Drive, Folder, File, Workspace, AppLink
Path string Path of the item
Token string optional; The token that the tool can use to redeem the file

If the user has selected multiple items, the data that your app will receive will be:

Key Data Type Remarks
ToolPayload string Token of the file that contains the data in json array

Note: You can use ToolManager.ExtractPayloads to extract the Payloads data.

Examples

Jump Point

1. Hash Functions

Compute for the MD5, SHA-1, SHA-256, SHA-384, and SHA-512 of the selected files.

2. Photo Tools

Rotate Left, Rotate Right, Flip Horizontal, Flip Vertical, and Set as Wallpaper.


If your app provides tool extensions, contact me to be included here. Thanks in advance!