Name | Description |
---|---|
Name | Watermark |
Version | 3.7 |
ID | wex-watermark-adv |
Watermark extends Windchill’s Core PDM and Document Management modules by enabling a watermark to be superimposed on any selected PDF in Windchill. Users may watermark on demand. Watermarking may also be automated in promotion and change workflows. This is a well-featured offering – see the details below. Compared to viewing product information directly in PLM, PDF’s may proliferate. PDF’s expose risks of people using outdated PDF’s or stealing intellectual property. Watermarking mitigates these risks with version/distribution stamping, messaging, and electronic fingerprinting. Watermarking automation on promotion and change events further ensures that released PDF’s are properly marked.
Watermarks are applied using an engine contained within Windchill.
Watermark is often used with the Representation Export extensions to watermark during batch PDF exports. This ensures external data package PDF’s are properly marked.
Watermark Manager gives the user the tools to create and edit their own templates, giving full customization to the user.
An introduction to Watermark and Watermark Manager.
The following objects are supported
Each of the above objects may reference a PDF either directly or via links to associated objects e.g. Part - CAD - Drawing Or consist consist of these objects (baseline, collection, promotion request, change notice)
If a PDF is available a new menu will appear (This menu may be restricted to only appear for admin users)
Note the object must have a PDF associated or the menu will not appear.
This menu will show the following screen
This screen allows the to either
All watermarking actions are logged. Logs will be archived after 20,000 entries
UI action added to review to batch watermark all the contents.
Ensure the queue is started
WexWatermarkMaster
The listeners use a queue which will be created
WexWatermark
If it is not started automatically, it has to be started manually.
The listeners have to be mapped as shown above.
The Template Map section declares states and actions that can be taken when object/collections transitions to the state (no action, remove watermark, watermark with selected template).
The Trigger objects-states map specifies which states will trigger the event (watermark) for the designated objects. In the example above:
Note for change object only objects in the affected table are watermarked
The watermark can also be triggered on the publish successful event
The workflow is available via a wex invoke call in the server. It is an asynchronous call that will pass the job to the watermark queue. The argument is the self e.g. the workflow process.
com.wincomplm.wex.kernel.api.invoke.WexInvoker.invoke("com.wincomplm.wex-watermark-adv", "workflowmethods.watermark", self);
This robot accepts 6 parameters - Items in bold can be null.
If self parameter is a PBO containing a collection of items, then items within will be watermarked. Items within the PBO may be filtered for watermark using the type and subtype parameters. In case the self parameter is not a PBO but a Persistable, type and subtype are not used, so set them to null.
There are two different robots that accept the same amount of parameters. One will execute inside the WexWatermarkMaster Queue, while the other executes directly after calling the robot, without using a queue.
com.wincomplm.wex.kernel.api.invoke.WexInvoker.invoke("com.wincomplm.wex-watermark-adv", "workflowmethods.watermarkWithTemplate", self, Class type, String subtype,String template, boolean coversheet, boolean removeContent, HashMap<String,Object> data);
com.wincomplm.wex.kernel.api.invoke.WexInvoker.invoke("com.wincomplm.wex-watermark-adv", "workflowmethods.watermarkWithTemplateNoQueue", self, Class type, String subtype,String template, boolean coversheet, boolean removeContent, HashMap<String,Object> data);
This robot accepts 1 parameter
com.wincomplm.wex.kernel.api.invoke.WexInvoker.invoke("com.wincomplm.wex-watermark-adv", "workflowmethods.removeWatermark", Object o);
This robot accepts 2 parameters
Object o: The Persistable that contains the PDF file you want to resize.
(Float) resize: The size you want to reduce the PDF file.
com.wincomplm.wex.kernel.api.invoke.WexInvoker.invoke("com.wincomplm.wex-watermark-adv", "workflowmethods.resizeDefaultPDF", Object o, Float resize);
Watermark Adv provides an API to watermark representation on a primary business object (WTDocument, EPMDocument…) using a filename filter.
Parameters are:
com.wincomplm.wex.kernel.api.invoke.WexInvoker.invoke("com.wincomplm.wex-watermark-adv", "api-methods.watermark-filtered-reps", String oid, String match, boolean useRegex, String template);
Watermark and resizes.
Parameters are:
com.wincomplm.wex.kernel.api.invoke.WexInvoker.invoke("com.wincomplm.wex-watermark-adv","api-methods.watermark-and-resize", Representable rep, String template, Float resizeFactor, Map<String, Object> customData, int[] excludedResizePages)
com.wincomplm.wex.kernel.api.invoke.WexInvoker.invoke("com.wincomplm.wex-watermark-adv","api-methods.watermark-and-resize-appdatas", Representable rep, Collection<ApplicationData> appdatas, String template, Float resizeFactor, Map<String, Object> customData, int[] excludedResizePages)
There are special keys to send to the engine.
For how to configure the templates now, please read the Watermark Templates Configuration
This allows a new key ${pseudostate} to be defined and used in a template.
This controls if the watermark UI will be made available to non-admin users.
The retries and time between retries if a failure occurs
As this extension uses a queue to watermark, any failures will be communicated via email. This feature is limited to 1 email per 30 minutes per user.
This controls if the watermark UI will be made available to non-admin users.
Ensure the queue is started
WexWatermarkMaster