KeyShot Dock integration toolbox

KeyShot Docks comes with a wide palette of integration capabilities that standardizes integrations. The following documentation section explain in greater detail what these tools are and helps decide the right tool for the job.

The toolbox consists of the following tools

Understanding the integration use-case

Before deciding in which direction to take the integration it is important to understand the use case(s) and for that asking the right questions helps choosing the right tools

  • Automatic or manual work?
    This question is important because it speaks into the integration being something that involves human interaction or not. Understanding this helps deciding if the integration needs an interactive UI or if it simply performs a task in the background. If it needs a UI the may be the way forward

  • Who is the target audience?
    Regardless of UI or not, the result is targeting someone or something. Understanding the target audience helps understanding some of the accessibility requirements. If the connector allows inserting images in a e-mail campaign then the target audience becomes very large and therefore CDN acceleration is needed. If the integration enriches assets then the target audience may be much smaller and therefore a simple API integration suffices.

  • When should it happen?
    Integrations are many different things, but understanding the cases when the integration is invoked is important because it helps determine the pattern. For the more manual integrations that require a UI, it must be spawned whenever the user needs it. It must be easy and accessible to allow the user to perform the task at hand. Not understanding this could result in complicating the user flow thereby discouraging the usage.

    For the more automatic integrations the question is of similar value. Should the integration be invoked on all changes in the system or is there are more constrained execution. If it should happen on all changes perhaps the are a way forward, but if the invocation is constrained by some logic flow and conditions perhaps the is a better approach.

  • Should data flow in both directions?
    For the user interactive integrations there typically are two main use cases: using content and creating content. For the latter case then it is important to understand if the resulting created content should be saved back into KeyShot Dock or not and if so how.

    For the automatic integrations it must be equally considered if the integration is bi-directional or not. If data flows in both directions it is very important to ensure no loops are created. If the integration is event based System A may trigger an update in System B, which in turn triggers System A and vice versa. keeps track of the state and only pushes events if they are relevant.

Combining the tools

For the more complex solutions combing the tools in the toolbox may be of great value. There are many cases of usage of assets in 3rd party tools that would require the embedded UI. The logic on insert may synchronize assets including metadata into the 3rd party tool and because of that would require a mechanism for getting updates. These updates can be pushed by the and so we have a system that would require more than one tool from the toolbox.

Custom integrations

For integrations that falls outside the above mentioned categories or integrations that are required to be deeper a custom integration could be the way to go.

Custom integrations are often integrations built directly through the open REST API that KeyShot has. Futrhermore, these can also be a combination of the available tools. For instance an embedded UI with custom logic using the API for additional functionality.

These integration comes with more complexity, but also allows for more flexibility.

The API is documented on the following link