Showpad Connect

For the most up-to-date documentation, please visit docs.brix.ch

Showpad Connect synchronizes the assets in CELUM with Showpad. The assets in Showpad can be tagged with the CELUM keywords in node reference fields. The scope and data types are configurable, it is not recommended to synchronize all the assets. Asset availability is also taken into account. The synchronization is happening immediately, asset changes or new assets should be visible in Showpad in a few seconds.

Properties

To be configured in {home}/appserver/conf/custom.properties

showpad.license

type: String, required: yes, default: -

The license key for the plugin (product: showpad), provided by brix.

showpad.clientId

type: String, required: yes, default: -

The Showpad client id.

showpad.clientSecret

type: String, required: yes, default: -

The Showpad client secret.

showpad.username

type: String, required: yes, default: -

The Showpad username.

showpad.password

type: String, required: yes, default: -

The Showpad password.

showpad.downloadFormats

type: semicolon separated list of <download format id>:>file extension 1>,<file extension 2>,... (lower-case without dot) e.g. 1:txt,pdf;2:jpg,png;3:mp3, required: yes, default: 1:ppt,pptx,pps,ppsx,xls,xlsx,doc,docx,key,pages,numbers,pdf,txt,rtf,mp3,m4a,wav,jpg,jpeg,png,mov,wmv,mp4,m4v,3gp,mpg,mpeg,avi,asf,flv,dwg,dxf,stl,iges,step,epub,ibooks,rvt

Make sure the download format generates files with extensions supported by Showpad. Attention: zip files are not supported in general, only some special cases. Assets with extensions for which no download format was specified are ignored.

showpad.externalId

type: Long, required: yes, default: -

Information field id to store the external id (see below).

showpad.status

type: Long, required: yes, default: -

Information field id of the status dropdown (see below).

type: String, required: yes, default: -

A filter expression using the anura syntax. This defines which assets are in scope and synchronized with Showpad. Attention: the search_ prefix has to be dropped and search was renamed to text. Ampersand (&) can be escaped by using &amp;.

Additionally there is a node by name filter: One of node_contains or node_startswith has to be set to apply this filter. It also requires the node_type (id) and optionally a node (id) to limit the search. The language parameter is also taken into consideration for the node search.

E.g. showpad.asset.search=node=1234&node_recursive=true&infofield=7,true would find all assets linked to the node 1234 (or any sub-node) where the information field 7 (a checkbox) is true (checked).

showpad.asset.search.userId

type: Long, required: no, default: API-user

The id of the user with which the search is executed. Only assets visible for this user will be returned.

showpad.asset.deleteOutOfScope

type: Boolean, required: no, default: false

If set to true all assets out of scope will be deleted in Showpad, otherwise the expiration date will be set to the current day at 0:00 (so the asset will be expired immediately in Showpad).

showpad.tags

type: List (comma-separated), required: no, default: -

Comma-separated list of node reference information field ids which should be added as tags.

showpad.tags.withPath

type: Boolean, required: no, default: true

Export tags with path to root (true) or just the node name (false).

showpad.asset.description

type: String, required: no, default: -

The description for the asset in Showpad. infofield_<id> for an info field (text, text area or their localized version followed by :<language>, e.g. infofield_133:de) or name (asset name), originalFileName, assetType:<language> or static_<custom static text>, e.g. static_this is an example.

showpad.asset.expiresAt

type: String, required: no, default: -

The expires at property of the asset in Showpad. infofield_<id> (has to be date type), versionDate, creationDate, validFrom or validTo.

showpad.asset.hideLabel

type: String, required: no, default: -

The hide label property for the asset in Showpad. infofield_<id> (has to be a checkbox) optionally followed by a :<default value> if the asset type doesn't have this info field or one of static_true, static_false.

showpad.asset.isAnnotatable

type: String, required: no, default: -

The is annotatable property for the asset in Showpad. infofield_<id> (has to be a checkbox) optionally followed by a :<default value> if the asset type doesn't have this info field or one of static_true, static_false.

showpad.asset.isDivisionShared

type: String, required: no, default: -

The is division shared property for the asset in Showpad. infofield_<id> (has to be a checkbox) optionally followed by a :<default value> if the asset type doesn't have this info field or one of static_true, static_false.

showpad.asset.isDownloadable

type: String, required: no, default: -

The id downloadable property for the asset in Showpad. infofield_<id> (has to be a checkbox) optionally followed by a :<default value> if the asset type doesn't have this info field or one of static_true, static_false.

showpad.asset.isEditable

type: String, required: no, default: -

The is editable property for the asset in Showpad. infofield_<id> (has to be a checkbox) optionally followed by a :<default value> if the asset type doesn't have this info field or one of static_true, static_false.

showpad.asset.isPersonal

type: String, required: no, default: -

The is personal property for the asset in Showpad. infofield_<id> (has to be a checkbox) optionally followed by a :<default value> if the asset type doesn't have this info field or one of static_true, static_false.

showpad.asset.isSensitive

type: String, required: no, default: -

The is sensitive property for the asset in Showpad. infofield_<id> (has to be a checkbox) optionally followed by a :<default value> if the asset type doesn't have this info field or one of static_true, static_false.

showpad.asset.isShareable

type: String, required: no, default: -

The is shareable property for the asset in Showpad. infofield_<id> (has to be a checkbox) optionally followed by a :<default value> if the asset type doesn't have this info field or one of static_true, static_false.

showpad.asset.name

type: String, required: no, default: -

The name for the asset in Showpad, if nothing is specified Showpad will use the file name. infofield_<id> for an info field (text, text area or their localized version followed by :<language>, e.g. infofield_133:de) or name (asset name), originalFileName, assetType:<language> or static_<custom static text>, e.g. static_this is an example.

showpad.asset.onlyShareEntireDocument

type: String, required: no, default: -

The only share entire document property for the asset in Showpad. infofield_<id> (has to be a checkbox) optionally followed by a :<default value> if the asset type doesn't have this info field or one of static_true, static_false.

showpad.asset.releasedAt

type: String, required: no, default: -

The released at property of the asset in Showpad. infofield_<id> (has to be date type), versionDate, creationDate, validFrom or validTo.

showpad.asset.useOptimized

type: String, required: no, default: -

The use optimized property for the asset in Showpad. infofield_<id> (has to be a checkbox) optionally followed by a :<default value> if the asset type doesn't have this info field or one of static_true, static_false.

showpad.asset.externalServiceId

type: String, required: no, default: CELUM

Name of the external service id in Showpad. Because this is not working at the moment the external asset ids in Showpad are prefixed by this value and the external service id is left blank.

showpad.asset.url

type: String, required: no, default: -

An url, the asset id can be inserted with <id>, e.g. https://dam-demo.brix.ch/main/opennodeview.do?assetId=<id>. This value will be saved as url on the Showpad asset. The idea was to have a direct link to the asset in CELUM, but this is currently not working either and therefore it cannot be set.

showpad.threads

type: Integer, required: no, default: 10

The number of threads used by Showpad Connect. At least 2.

showpad.debounceTimeInSeconds

type: Integer, required: no, default: 5

The number of seconds before an asset update is synchronized with Showpad. It is not recommended to set this value to less than 5, because there may be other plugins triggering changes and then the same asset will be synchronized several times, causing unnecessairy requests to Showpad.

showpad.cleanup.cronExpression

type: String, required: no, default: 0 1 * * * ?

A Quartz cron expression specifying how often and when the clean-up task should run.

showpad.sanitize.cronExpression

type: String, required: no, default: 0 0 1 * * ?

A Quartz cron expression specifying how often and when the sanitize task should run.

Installation

The information fields below have to be added to all the asset types which should be exportable to Showpad. Additionally the field for the Showpad ID has to be added to the keyword node type (or the one(s) which are used for the tags). The fields can be added to an existing or a new fieldset. The fields shouldn't be editable but can be visible. After this modification follow the standard installation guide.

<dropdown id="?" name="showpad_status">
    <labels>
        <label lang="en">Showpad status</label>
        <label lang="de">Showpad-Status</label>
    </labels>
    <required>false</required>
    <options>
        <option index="1">
            <labels>
                <label lang="en">Not exported</label>
                <label lang="de">Nicht exportiert</label>
            </labels>
        </option>
        <option index="2">
            <labels>
                <label lang="en">Exported</label>
                <label lang="de">Exportiert</label>
            </labels>
        </option>
        <option index="3">
            <labels>
                <label lang="en">Exported (inactive)</label>
                <label lang="de">Exportiert (inaktiv)</label>
            </labels>
        </option>
    </options>
    <default>1</default>
</dropdown>

<text id="?" name="showpad_id">
    <labels>
        <label lang="en">Showpad ID</label>
        <label lang="de">Showpad ID</label>
    </labels>
    <required>false</required>
</text>

Compatibility Matrix

Showpad Connect CELUM
1.0 and above 5.13.3 and above

Release Notes

1.0

Released 2020-07-01

Initial version