Custom Scripts

Dropover allows you to add your own scripts to perform custom operations on the files in the shelf. These actions will appear inside the “Actions” menu item of the shelf menu. You can add your own Shell scripts or Automator Workflows.

Screenshot showing Dropover's app Custom Actions

Adding a Script

To add a script, open Dropover’s setting screen and and select the “Advanced” tab. From there, select the “Manage Custom Scripts” buttom which, will open a new screen where you can import your scripts.

Important: Only scripts that are in the Dropover “Application Scripts” directory can be imported, so make sure to first put your scripts there.

Script Options

You can customise the behavior of each script:

Screenshot of Dropover showing the attributes that the user can edit for Custom Scripts Change the script’s display name, output type or perform a test task with the given script.

Name

The display name for the script. This name will be used in the menu.

Script Output (only for Shell scripts)

By default, all output generated by your script will be ignored. For some scripts, it makes sense to copy the output to clipboard (e.g. when your script generates an URL). In those cases, select the “Copy to Clipboard” option.

Close Shelf

Indicates if the shelf should be automatically closed after your script has been succesffully executed.

Testing a Script

You can easily test your imported script by selecting the “Run Test…” button and selecting the sample files you want to test your script on.

Screenshot of Dropover a test run of a custom script Verify if the script works by performing a test run.

The test script screen will show the output and result of your script. If an error occurs, it will contain the reason of the failure, allowing you to modify it until the script succeeds.

Script Logs (only for Shell scripts)

Each imported script will have two log files; a output log and an error log. The output log will only be populated if the script succeeds while the error log will contain information about a failure if one occurs. Both of these logs are cleared on each run.

To obtain the logs, select the “Reveal Logs” button on the script detail screen.

Shell Scripts

When Dropover executes your Shell script, it will provide the paths of the files in the shelf as arguments. For example, if you want to upload the contents of the shelf, your custom script could like this:

#!/usr/bin/env ruby

require 'net/http'
require 'uri'

# Loop through each file in the shelf. Each arg will
# represent a full path of the file.
for file in ARGV
  uri = URI.parse("http://#{domain}:#{port}");
  http = Net::HTTP.new(uri.host, uri.port)
  request = Net::HTTP::Post.new(uri.request_uri)
  request.body = File.read(file)

  res = http.request(request)
  puts res.body
end