Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

What is the recommended approach to build a Custom Component?

Hey Community,

 

I need to develop a custom component and I am supposed to use the new Component Framework. However I can't find an appropriate starting point for this topic.

 

The main ressources I found were:
1. https://github.com/Talend/components/wiki
and

2. https://help.talend.com/reader/C0dGRfXr_xwP1vm8wG62BA/SGxjYVOKBZwp~ENBEWS50g

 

I feel like 1 is missing a lot and just doesn't provide me everything I need to know to get started. 2 is kind of easy to follow, but just doesn't work for me in the end, since the component won't show up in my studio (TDF 7.0.1) despite a successfull Build Process.

 

So my final question is:

What is the recommended way to build a custom component using the new component framework?

 

Stretch Goal Question:

Would you recommend to use the new component framework at all, or is it safe to just use the way better documented old framework?

Labels (3)
1 Solution

Accepted Solutions
florentlb
Contributor III
Contributor III

Hi @Gunneone,

 

I would recommend checking the main Component Kit docs on https://talend.github.io/component-runtime.

 

As I said in a previous post, we're working on enhancing it.

And yes, if you are using a recent version of the Studio (> 7.0), the new Component Kit is the recommended way.

 

Feel free to give some feedback to help us making the docs better!

 

Florent

View solution in original post

13 Replies
florentlb
Contributor III
Contributor III

Hi @Gunneone,

 

I would recommend checking the main Component Kit docs on https://talend.github.io/component-runtime.

 

As I said in a previous post, we're working on enhancing it.

And yes, if you are using a recent version of the Studio (> 7.0), the new Component Kit is the recommended way.

 

Feel free to give some feedback to help us making the docs better!

 

Florent

Anonymous
Not applicable
Author

Thank you! I just wasn't able to find this before. It looks very promising!

I'll read into it and give feedback when I'm done!
Anonymous
Not applicable
Author

Quick Question regarding the Studio Config:

 

In the all-in-one documentation on page 126:

"component.kit.skip:
If set to true, the plugin is not enabled. It is useful if you don’t have any component developed with the framework."

 

Then one page later there is an Info "To activate the plugin and be able to deploy your component, set
component.kit.skip to true."

 

The Info looks contradictory and wrong to me. What value should I set component.kit.skip to, if I want to get a hello-world component running?

Anonymous
Not applicable
Author

Overall I feel, what's missing is a clear start-to-end instruction for dummies on how to get a component to show up in the studio.

Like https://help.talend.com/reader/C0dGRfXr_xwP1vm8wG62BA/vMsMBktLdAY6lb7R2jk8og but working.

 

I'm following along the Tutorial and use

mvn package talend-component:deploy-in-studio -Dtalend.component.studioHome=/path/to/studio

to (try to) deploy my hello world component to the studio. The console output looks very promising to me (Screenshot), however the component will just not show up in the studio.

Maybe you can tell me, what I'm missing.


2018-08-08 10_28_35-Talend Component Kit Developer Guide - Adobe Acrobat Reader DC.png
Anonymous
Not applicable
Author

Hi Gunneone,

Thanks for the screenshot. I assume you never ran "mvn install". You are in "global" mode as written in the output which means the studio will grab the artifacts from your local maven repository. It means you have to install the artifacts in your local repository.

Replace "package" by "install" in you command and I guess it will work I think.
Anonymous
Not applicable
Author

I tried the same thing with mvn install now.

Also tried using the non global repository.

Both ways I get another Build Success, but no component in my studio.


Atm we think, it might have something to do with the component-server.When I use the command mvn talend-component:web I can see my Components with the expected configuration options in my browser.

The remaining question is just, why it won't show up in our studio.

 

Btw:

Another thing I noticed is, that the dev environment (component.environment=dev) does not seem to work. Neither me nor my colleague get that handy refresh button that is shown in the documentation.

Anonymous
Not applicable
Author

Hello,

 

Did you already have a solution to your problem? I am facing almost similar problem.

With a output component it works fine, but with the input not. The input component will not show in the studio.

Anonymous
Not applicable
Author

Hello,

 

The dev button can depend the version of the studio, however inputs should work fine.

Are you able to share a project on github to let us reproduce it on our side and investigate what could be the cause?

 

Thanks,

Romain

Anonymous
Not applicable
Author

Hello Romain,

 

I just shared a project on github:

https://github.com/najoineu/test-component.git

 

This is just a simple project genereated with the Component Kit Starter.

It doesn't do anything, but print a line to console when open in studio.

The problem is, it doesn't show up in studio. In log I get:

java.lang.NoClassDefFoundError: org/talend/sdk/component/api/service/record/RecordBuilderFactory
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].[]]

Caused by: javax.websocket.DeploymentException: The HTTP request to initiate the WebSocket connection failed

 

When starting mvn talend-component:web and then start studio, then the component does show up.

 

I'm using:

Talend Open Studio for Data Integration  Version: 7.0.1

Apache Maven 3.5.4

Os = windows 10 pro, x64

IDE = Eclipse Java EE IDE for Web Developers.  Version: Neon.3 Release (4.6.3)

 

I deploy with:

mvn package talend-component:deploy-in-studio `-Dtalend.component.studioHome="C:\Talend\TOS_DI-Win32-20180411_1414-V7.0.1"

 

Thank you,

Nancy