For example, the following XML fragment is used in the tHiveConnection component. See tHiveConnection_java.xml. If the component supports Perl, it will be in the _perl.xml as well.
This screen in Component Designer will list tHelloWorld2 under two families: Sample and Misc.
|Screenshot of Component Listed in Two Families|
This will list the tHiveConnection under two Families in the pallete: Database/Hive and ELT/Connections. Families can be organized in hierarchies called Drawers (like folders) The "/" character allows for nesting such that there is a Hive Drawer under the Database Drawer and a Connections Drawer under the ELT Drawer. tPaloCheckElements is nested three deep with "Business_Intelligence/OLAP_Cube/Palo".
|Component Using Nested FAMILY|
tHelloWorld (from the Talend Exchange) uses this simpler definition which lists the tHelloWorld component in a folder "Mirom" that is not nested. tHelloWorld is listed only once in the Pallete.
When you specify a FAMILY for a custom component, the FAMILY is loaded into the Pallete if it's not there already. If you don't specify a FAMILY, your component won't be listed in the Pallete and won't be searchable either.
Families are internationalized, standarizing on an English name. To add a new internationalized Family, edit the messages properties in the local provider folder. (On my installation, this is %TOS_HOME%\plugins\org.talend.designer.components.localprovider_4.1.0.r49467.) Prepend the Family name with "FAMILY.". for example, FAMILY.Connections=Connections is used in message.properties and message_en.properties; in message_es.properties this is FAMILY.Connections=Conexiones.
Select a meaningful FAMILY for your custom component so that it's easy to find. If it's convenient and not confusing to the users, cross-reference the FAMILY in other areas.