# Talend Component Studio Integration

## Design

The studio integration relies on Component Server (see Web for more details).

When the plugin is deployed it starts a local server the Studio uses to gather data about the components.

## Installation

Copy `org.talend.sdk.component.studio-integration.jar` in the `$STUDIO_HOME/plugins` directory and restart the studio. Also ensure the `component-server` dependencies and `commons-cli` 1.4 are into the Studio maven repository. If you install any component, ensure its dependencies are in the repository as well.  you can set in `$STUDIO_HOME/configuration/config.ini` the value `maven.repository` to `global` to reuse your local maven repository.

## Configuration

The configuration goes into `$STUDIO_HOME/configuration/config.ini`. Name Description Default component.debounce.timeout Specifies timeout in milliseconds before calling listeners in components Text fields 750 component.kit.skip If `true` the plugin is not active. Useful if you don’t have any component develop with the framework. false component.java.arguments Component server additional options - component.java.m2 The maven repository the server uses to resolve components default to global Studio configuration component.java.coordinates A list of comma separated GAV (groupId:artifactId:version) of components to register - component.java.registry A properties file with values matching component GAV (groupId:artifactId:version) which are registered at startup - component.java.port Set a port to use for the server random components.server.beam.active Active, if set to true, beam support (Experimental). It requires beam sdk java core dependencies to be available. false component.server.jul.forceConsole Adds a console handler to JUL to see logs in the console. This can be helpful in dev since the formatting will be better than the OSGi one in `workspace/.metadata/.log`.  it uses `java.util.logging.SimpleFormatter.format` property to define its format. Default is `%1$tb %1$td, %1$tY %1$tl:%1$tM:%1$tS %1$Tp %2$s%n%4$s: %5$s%6$s%n` but for development purposes `[%4$s] %5$s%6$s%n` is simpler and more readable. false  to activate the plugin and be able to deploy your component, don’t forget to set `component.kit.skip` to `true`. A common developer `configuration/config.ini` will use the following specific entries: configuration/config.ini ``````# use local .m2 instead of embedded studio one maven.repository = global # log into the console the component interactions component.server.jul.forceConsole = true java.util.logging.SimpleFormatter.format = [%4$s] %5$s%6$s%n

If you run multiple Studio instance automatically in parallel you can have some issues with the random port computation (can happen on a CI platform). For that purpose you can create the file `\$HOME/.talend/locks/org.talend.sdk.component.studio-integration.lock`.
 it is highly unlikely it happens on a desktop and forcing a different value through `component.java.port` in your `config.ini` is likely a better solution for local installations.