<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: User defined transformations using addons in Qlik Replicate</title>
    <link>https://community.qlik.com/t5/Qlik-Replicate/User-defined-transformations-using-addons/m-p/2002106#M4142</link>
    <description>&lt;P&gt;You need to remove the // before&amp;nbsp; lib_path if you use a non-standard path.&lt;/P&gt;
&lt;P&gt;But it may be easier to just use the standard path :&amp;nbsp;MyTransformation\MyTransformation.dll&lt;/P&gt;
&lt;P&gt;Doe NOT use the 'samples' path.&lt;/P&gt;
&lt;P&gt;And I don't think you need the \\, just a \&amp;nbsp; will do if you anchor your path - without anchor it will be relative to the installation directory.&lt;/P&gt;
&lt;P&gt;Hein.&lt;/P&gt;</description>
    <pubDate>Wed, 09 Nov 2022 04:04:26 GMT</pubDate>
    <dc:creator>Heinvandenheuvel</dc:creator>
    <dc:date>2022-11-09T04:04:26Z</dc:date>
    <item>
      <title>User defined transformations using addons</title>
      <link>https://community.qlik.com/t5/Qlik-Replicate/User-defined-transformations-using-addons/m-p/2002053#M4138</link>
      <description>&lt;P&gt;Hi Team,&lt;BR /&gt;I am trying to have the user-defined functions in Functions &amp;gt; user defined functions which I am unable to do.&lt;BR /&gt;I followed the documentation steps and below are some attached code&amp;nbsp;&lt;BR /&gt;I used vscode to compile and generate MyTransformation.dll and MyTransformation.so files which I copy pasted manually in the path (C:\Program Files\Attunity\Replicate\addons\samples\MyTransformation)&lt;BR /&gt;and the&amp;nbsp; addons_def.json.sample looks like below&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="csidda_0-1667948383590.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/93165iACD91C0E6A0FCC95/image-size/medium?v=v2&amp;amp;px=400" role="button" title="csidda_0-1667948383590.png" alt="csidda_0-1667948383590.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;and the MyTransformation.c looks like below in the path (C:\Program Files\Attunity\Replicate\addons\samples\MyTransformation)&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="csidda_1-1667948443594.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/93166i5BB063B41ACCED1F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="csidda_1-1667948443594.png" alt="csidda_1-1667948443594.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;I also restarted the replicate service after registering the file path. It still doesnt show any function.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="csidda_2-1667948574668.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/93167i516FBE9CC74CBEEC/image-size/medium?v=v2&amp;amp;px=400" role="button" title="csidda_2-1667948574668.png" alt="csidda_2-1667948574668.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Any suggestion or guidance here is appreciated. thanks.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;#addons&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 08 Nov 2022 23:26:18 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Replicate/User-defined-transformations-using-addons/m-p/2002053#M4138</guid>
      <dc:creator>csidda</dc:creator>
      <dc:date>2022-11-08T23:26:18Z</dc:date>
    </item>
    <item>
      <title>Re: User defined transformations using addons</title>
      <link>https://community.qlik.com/t5/Qlik-Replicate/User-defined-transformations-using-addons/m-p/2002084#M4139</link>
      <description>&lt;P&gt;HI,&lt;/P&gt;&lt;P&gt;Please try to uncomment lib_path(.dll location) in your addon_def.json&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Wed, 09 Nov 2022 02:20:46 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Replicate/User-defined-transformations-using-addons/m-p/2002084#M4139</guid>
      <dc:creator>kmadhavi2</dc:creator>
      <dc:date>2022-11-09T02:20:46Z</dc:date>
    </item>
    <item>
      <title>Re: User defined transformations using addons</title>
      <link>https://community.qlik.com/t5/Qlik-Replicate/User-defined-transformations-using-addons/m-p/2002106#M4142</link>
      <description>&lt;P&gt;You need to remove the // before&amp;nbsp; lib_path if you use a non-standard path.&lt;/P&gt;
&lt;P&gt;But it may be easier to just use the standard path :&amp;nbsp;MyTransformation\MyTransformation.dll&lt;/P&gt;
&lt;P&gt;Doe NOT use the 'samples' path.&lt;/P&gt;
&lt;P&gt;And I don't think you need the \\, just a \&amp;nbsp; will do if you anchor your path - without anchor it will be relative to the installation directory.&lt;/P&gt;
&lt;P&gt;Hein.&lt;/P&gt;</description>
      <pubDate>Wed, 09 Nov 2022 04:04:26 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Replicate/User-defined-transformations-using-addons/m-p/2002106#M4142</guid>
      <dc:creator>Heinvandenheuvel</dc:creator>
      <dc:date>2022-11-09T04:04:26Z</dc:date>
    </item>
    <item>
      <title>Re: User defined transformations using addons</title>
      <link>https://community.qlik.com/t5/Qlik-Replicate/User-defined-transformations-using-addons/m-p/2007073#M4278</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;I tried to follow the steps which you mentioned. But still not able to fix. Here is my json file .&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="csidda_0-1669038792162.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/94195i52DC7F09EC278D6D/image-size/medium?v=v2&amp;amp;px=400" role="button" title="csidda_0-1669038792162.png" alt="csidda_0-1669038792162.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;I have compiled and got these files and pasted in the path below:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="csidda_1-1669039214577.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/94196i416B3EE902DE4B9C/image-size/medium?v=v2&amp;amp;px=400" role="button" title="csidda_1-1669039214577.png" alt="csidda_1-1669039214577.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;In the documentation it is written that dll file is automatically generated, I am not clear on this part. I have compiled the files manualy using the gcc command and added all the file in the path mentioned. Do correct me if the approach which I have taken is incorrect.&amp;nbsp;&lt;BR /&gt;The documentation is bit ambiguous in&amp;nbsp; nature and makes few assumptions that the user is aware of. Do forgive me for any misunderstandings as I am a newbie to Qlik and only getting used to it.&lt;/P&gt;
&lt;P&gt;Chaithra&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 21 Nov 2022 14:32:47 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Replicate/User-defined-transformations-using-addons/m-p/2007073#M4278</guid>
      <dc:creator>csidda</dc:creator>
      <dc:date>2022-11-21T14:32:47Z</dc:date>
    </item>
    <item>
      <title>Re: User defined transformations using addons</title>
      <link>https://community.qlik.com/t5/Qlik-Replicate/User-defined-transformations-using-addons/m-p/2007203#M4283</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;Thank you for the post to the Forums. Here are some helpful steps along with the Documentation for the addon and implementation. Did you run the registration of the addon.def as shown and step 4 as this is how it gets loaded to the UI Replicate Console Functions user defined I believe.&lt;/P&gt;
&lt;H1 style="margin: 0in; font-family: Calibri; font-size: 16.0pt; color: #1e4e79;"&gt;Usage Notes&lt;/H1&gt;
&lt;OL style="direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in; font-family: 'Segoe UI'; font-size: 11.0pt; font-weight: normal; font-style: normal;" type="1"&gt;
&lt;LI style="margin-top: 0; margin-bottom: 0; vertical-align: middle;" value="1"&gt;&lt;SPAN&gt;Create a shared library that implements and exported initialization function:&lt;BR /&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/LI&gt;
&lt;/OL&gt;
&lt;DIV style="direction: ltr;"&gt;
&lt;TABLE style="direction: ltr; border-collapse: collapse; margin-left: .3333in; border: 1pt solid #A3A3A3;" title="" border="1" summary="" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style="background-color: #f4b183; vertical-align: top; width: 4.8333in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;"&gt;
&lt;P style="margin: 0in; font-family: 'Segoe UI'; font-size: 11.0pt;"&gt;typedef int AR_ADDON_INIT_FUNC(AR_ADDON_CONTEXT *context);&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;P style="margin: 0in; margin-left: .375in; font-family: 'Segoe UI'; font-size: 11.0pt;"&gt;All the types and prototypes are defined at 'ar_addon.h'&lt;/P&gt;
&lt;OL style="direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in; font-family: 'Segoe UI'; font-size: 11.0pt; font-weight: normal; font-style: normal;" type="1"&gt;
&lt;LI style="margin-top: 0; margin-bottom: 0; vertical-align: middle;" value="2"&gt;&lt;SPAN&gt;Place the built library in &amp;lt;installation_dir&amp;gt;\addons directory.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"&gt;&lt;SPAN&gt;Register the library at addons_def.json&lt;BR /&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/LI&gt;
&lt;/OL&gt;
&lt;DIV style="direction: ltr;"&gt;
&lt;TABLE style="direction: ltr; border-collapse: collapse; margin-left: .3333in; border: 1pt solid #A3A3A3;" title="" border="1" summary="" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style="background-color: #f4b183; vertical-align: top; width: 4.0277in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;"&gt;
&lt;P style="margin: 0in; font-family: 'Segoe UI'; font-size: 11.0pt;"&gt;{&lt;/P&gt;
&lt;P style="margin: 0in; margin-left: .375in; font-family: 'Segoe UI'; font-size: 11.0pt;"&gt;"addons": [{&lt;/P&gt;
&lt;P style="margin: 0in; margin-left: .75in; font-family: 'Segoe UI'; font-size: 11.0pt;"&gt;"name": "MyTransformation",&lt;/P&gt;
&lt;P style="margin: 0in; margin-left: .75in; font-family: 'Segoe UI'; font-size: 11.0pt;"&gt;"type": "STARTUP",&lt;/P&gt;
&lt;P style="margin: 0in; margin-left: .75in; font-family: 'Segoe UI'; font-size: 11.0pt;"&gt;"lib_name": "MyTransformation.dll",&lt;/P&gt;
&lt;P style="margin: 0in; margin-left: .75in; font-family: 'Segoe UI'; font-size: 11.0pt;"&gt;"init_function": "my_transformation_init_func"&lt;/P&gt;
&lt;P style="margin: 0in; margin-left: .375in; font-family: 'Segoe UI'; font-size: 11.0pt;"&gt;}]&lt;/P&gt;
&lt;P style="margin: 0in; font-family: 'Segoe UI'; font-size: 11.0pt;"&gt;}&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;OL style="direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in; font-family: 'Segoe UI'; font-size: 11.0pt; font-weight: normal; font-style: normal;" type="1"&gt;
&lt;LI style="margin-top: 0; margin-bottom: 0; vertical-align: middle;" value="4"&gt;&lt;SPAN&gt;In order to register a user transformation function it should be registered in the addon initialization function:&lt;BR /&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/LI&gt;
&lt;/OL&gt;
&lt;DIV style="direction: ltr;"&gt;
&lt;TABLE style="direction: ltr; border-collapse: collapse; margin-left: .3333in; border: 1pt solid #A3A3A3;" title="" border="1" summary="" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style="background-color: #f4b183; vertical-align: top; width: 5.0305in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;"&gt;
&lt;P style="margin: 0in; font-family: Calibri; font-size: 11.0pt;"&gt;transdef = GET_AR_AO_TRANSFORMATION_DEF();&lt;/P&gt;
&lt;P style="margin: 0in; font-family: Calibri; font-size: 11.0pt;"&gt;transdef-&amp;gt;displayName = "prefix_with(X, Y)";&lt;/P&gt;
&lt;P style="margin: 0in; font-family: Calibri; font-size: 11.0pt;"&gt;transdef-&amp;gt;functionName = "prefix_with";&lt;/P&gt;
&lt;P style="margin: 0in; font-family: Calibri; font-size: 11.0pt;"&gt;transdef-&amp;gt;description = "prefix_with adds the prefix &amp;lt;Y_&amp;gt; to a given string X";&lt;/P&gt;
&lt;P style="margin: 0in; font-family: Calibri; font-size: 11.0pt;"&gt;transdef-&amp;gt;func = trans_prefix_with;&lt;/P&gt;
&lt;P style="margin: 0in; font-family: Calibri; font-size: 11.0pt;"&gt;transdef-&amp;gt;nArgs = 2;&lt;/P&gt;
&lt;P style="margin: 0in; font-family: Calibri; font-size: 11.0pt;"&gt;AR_AO_REGISRATION-&amp;gt;register_user_defined_transformation(transdef);&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;OL style="direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in; font-family: Calibri; font-size: 11.0pt; font-weight: normal; font-style: normal;" type="1"&gt;
&lt;LI style="margin-top: 0; margin-bottom: 0; vertical-align: middle;" value="5"&gt;&lt;SPAN&gt;The new prefix_with function will be available on the GUI under Functions-&amp;gt;user defined&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P style="margin: 0in; font-family: 'Segoe UI'; font-size: 11.0pt;" lang="x-none"&gt;&amp;nbsp;&lt;/P&gt;
&lt;H1 style="margin: 0in; font-family: Calibri; font-size: 16.0pt; color: #1e4e79;"&gt;Implementation Notes&lt;/H1&gt;
&lt;OL style="direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in; font-family: 'Segoe UI'; font-size: 11.0pt; font-weight: normal; font-style: normal;" type="1"&gt;
&lt;LI style="margin-top: 0; margin-bottom: 0; vertical-align: middle;" value="1"&gt;&lt;SPAN&gt;Replicate extension infrastructure:&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;UDT is a private use case of product extension/addon. In the future we may want to add User defined datatypes, Metadata hooks, etc.. &lt;BR /&gt;the Extension libraries should not be linked with Attunity libraries but only use an public C interface that will be kept between versions.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"&gt;&lt;SPAN&gt;User defined transformation:&lt;BR /&gt;register an extension that add an Sqlite user defined function that will be able to be used on all the product expressions.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"&gt;&lt;SPAN&gt;New L_ADDONS logger will be added to be used as logger for all add-ons code prints&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"&gt;&lt;SPAN&gt;Definition structures should be return based on enum of type+version to get 'versioned' structure.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Bill&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 21 Nov 2022 17:34:38 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Replicate/User-defined-transformations-using-addons/m-p/2007203#M4283</guid>
      <dc:creator>Bill_Steinagle</dc:creator>
      <dc:date>2022-11-21T17:34:38Z</dc:date>
    </item>
    <item>
      <title>Re: User defined transformations using addons</title>
      <link>https://community.qlik.com/t5/Qlik-Replicate/User-defined-transformations-using-addons/m-p/2009185#M4335</link>
      <description>&lt;P&gt;Thanks Bill for the response.&amp;nbsp;&lt;BR /&gt;Is there any implementation notes or references on how to create a shared library in C ? sorry for being such a noob.&lt;BR /&gt;Is there any plan to extend the feature for python ?&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 25 Nov 2022 10:54:03 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Replicate/User-defined-transformations-using-addons/m-p/2009185#M4335</guid>
      <dc:creator>csidda</dc:creator>
      <dc:date>2022-11-25T10:54:03Z</dc:date>
    </item>
    <item>
      <title>Re: User defined transformations using addons</title>
      <link>https://community.qlik.com/t5/Qlik-Replicate/User-defined-transformations-using-addons/m-p/2009428#M4337</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;This is a video which contains an explanation about shared libraries in C and how to create them on linux, i don't know which OS you are on but i hope this at least helps, and if you have windows maybe you can convert the process.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.youtube.com/watch?v=Slfwk28vhws" target="_blank"&gt;Write Better Code! | How to Create Shared Libraries in C/C++ - YouTube&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Sorry i can't do more on this one im more proficient in JavaScript&lt;/P&gt;</description>
      <pubDate>Sun, 27 Nov 2022 15:29:19 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Replicate/User-defined-transformations-using-addons/m-p/2009428#M4337</guid>
      <dc:creator>Shai_E</dc:creator>
      <dc:date>2022-11-27T15:29:19Z</dc:date>
    </item>
  </channel>
</rss>

