Configure the Custom Uploader

19min

Use the following information as a guide to configure the features of custom publishing.

Description of Custom Uploading

Use Custom Uploading, rather than basic uploading, where a custom uploading API is required and when you need to create your own user interface (UI).

You can design the UI with additional controls not contained in the basic uploader. This allows the user to enter metadata through any configured web interface control (for example, to input additional information that is uploaded with the recording).

App Display properties allow you to customize branding and message strings in the screen recorder and video editor.

Document image


The added optional input fields POST back when requesting the upload URL. For a custom upload, create a Java jar file with code that implements the Custom Publish interface.



In the jar file you create, account for:

  • Upload properties
  • Skin images
  • Other properties

The following steps outline the custom publishing process:

  1. Implement the CustomPublish Java interface class.
  2. Create a signed jar with a class that implements the CustomPublish Java interface and any additional classes created to support the upload process.
  3. Host the jar in the jarHostPath
  4. Add the jar to the jars list.
  5. Remove the BasicUploadSkin.jar (if present).

Sample Custom Publishing Implementation

The following is an example structure of a custom publishing implementation:



Java




File Specifications

The sizes for the 96-dpi png icons are as follows:

  • frame_icon.png: 48x48
  • publish_customupload_16.png: 16x16
  • publish_customupload_24.png: 24x24
  • publish_customupload_48.png: 48x48

CustomPublishImpl.java

We will provide example files to you.



Custom Publishing Sample (HTML)

We will provide example files to you.



appDisplay.properties

The following properties can be set in the appDisplay.properties file:

som.*.app.frame.title

This property contains the title displayed on the window for the application.

Java




som.*.app.preview.title

This property contains the title displayed at the top of the window when viewing the preview after recording.

Java




som.*.app.drawandzoom.enabled

This property enables and disables the Show Draw and Zoom tool on the recorder.

Java




som.*.app.editing.enabled

This property enables and disables the Show Edit button to offer editing after recording.

Java




som.*.app.upload.message

This property contains the message displayed after upload is complete. (Note the TITLE_REPLACE which we will replace using the setDoneMessage in the CustomPublishImpl as an example that you can update this message dynamically or replace the complete message. ) 

Java




som.*.app.upload.deleteafter

When this property is set to true, the app deletes the local recording after a successful upload. When this property is set to false, the app does not remove the local recording.

Java




som.*.app.upload.showlink

This property enables and disables the Show a link and copy button for the URL returned after upload is complete.

Java




som.*.app.upload.onexit.action

This property provides an optional link to launch after the user clicks the button when upload is complete. Omit this setting if no page needs to launch. Otherwise, set this property to a URL or to the string "gotoplayback," which launches the URL you returned after the upload is complete.

Java


som.*.app.content.subdirectory

This property sets the subdirectory to store your users’ recordings. The default location where this subdirectory is created is Documents. The following example creates Documents\Screen Recorder, and adds a Recordings directory with a subdirectory for each recording stored on the computer ( Documents\Screen Recorder\Recordings\individual recording folders ).

Java




som.*.app.custompublish.name

This property sets the name shown in the app. For example, "Upload to Mybrand."

Java




som.*.app.custompublish.class

This property specifies the class that you provide to implement the com.screencastomatic.CustomPublish interface.

Java