Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
1732 lines (1731 sloc) 42.9 KB
<?xml version="1.0" encoding="UTF-8"?>
<transformation>
<info>
<name>Export Custom Groups/Fields</name>
<description />
<extended_description />
<trans_version />
<trans_type>Normal</trans_type>
<trans_status>0</trans_status>
<directory>/</directory>
<parameters>
</parameters>
<log>
<trans-log-table>
<connection />
<schema />
<table />
<size_limit_lines />
<interval />
<timeout_days />
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STATUS</id>
<enabled>Y</enabled>
<name>STATUS</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
<subject />
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
<subject />
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
<subject />
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
<subject />
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
<subject />
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
<subject />
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>STARTDATE</id>
<enabled>Y</enabled>
<name>STARTDATE</name>
</field>
<field>
<id>ENDDATE</id>
<enabled>Y</enabled>
<name>ENDDATE</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>DEPDATE</id>
<enabled>Y</enabled>
<name>DEPDATE</name>
</field>
<field>
<id>REPLAYDATE</id>
<enabled>Y</enabled>
<name>REPLAYDATE</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>Y</enabled>
<name>LOG_FIELD</name>
</field>
<field>
<id>EXECUTING_SERVER</id>
<enabled>N</enabled>
<name>EXECUTING_SERVER</name>
</field>
<field>
<id>EXECUTING_USER</id>
<enabled>N</enabled>
<name>EXECUTING_USER</name>
</field>
<field>
<id>CLIENT</id>
<enabled>N</enabled>
<name>CLIENT</name>
</field>
</trans-log-table>
<perf-log-table>
<connection />
<schema />
<table />
<interval />
<timeout_days />
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>SEQ_NR</id>
<enabled>Y</enabled>
<name>SEQ_NR</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STEPNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>STEP_COPY</id>
<enabled>Y</enabled>
<name>STEP_COPY</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>INPUT_BUFFER_ROWS</id>
<enabled>Y</enabled>
<name>INPUT_BUFFER_ROWS</name>
</field>
<field>
<id>OUTPUT_BUFFER_ROWS</id>
<enabled>Y</enabled>
<name>OUTPUT_BUFFER_ROWS</name>
</field>
</perf-log-table>
<channel-log-table>
<connection />
<schema />
<table />
<timeout_days />
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>LOGGING_OBJECT_TYPE</id>
<enabled>Y</enabled>
<name>LOGGING_OBJECT_TYPE</name>
</field>
<field>
<id>OBJECT_NAME</id>
<enabled>Y</enabled>
<name>OBJECT_NAME</name>
</field>
<field>
<id>OBJECT_COPY</id>
<enabled>Y</enabled>
<name>OBJECT_COPY</name>
</field>
<field>
<id>REPOSITORY_DIRECTORY</id>
<enabled>Y</enabled>
<name>REPOSITORY_DIRECTORY</name>
</field>
<field>
<id>FILENAME</id>
<enabled>Y</enabled>
<name>FILENAME</name>
</field>
<field>
<id>OBJECT_ID</id>
<enabled>Y</enabled>
<name>OBJECT_ID</name>
</field>
<field>
<id>OBJECT_REVISION</id>
<enabled>Y</enabled>
<name>OBJECT_REVISION</name>
</field>
<field>
<id>PARENT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>PARENT_CHANNEL_ID</name>
</field>
<field>
<id>ROOT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>ROOT_CHANNEL_ID</name>
</field>
</channel-log-table>
<step-log-table>
<connection />
<schema />
<table />
<timeout_days />
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STEPNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>STEP_COPY</id>
<enabled>Y</enabled>
<name>STEP_COPY</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>N</enabled>
<name>LOG_FIELD</name>
</field>
</step-log-table>
<metrics-log-table>
<connection />
<schema />
<table />
<timeout_days />
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>METRICS_DATE</id>
<enabled>Y</enabled>
<name>METRICS_DATE</name>
</field>
<field>
<id>METRICS_CODE</id>
<enabled>Y</enabled>
<name>METRICS_CODE</name>
</field>
<field>
<id>METRICS_DESCRIPTION</id>
<enabled>Y</enabled>
<name>METRICS_DESCRIPTION</name>
</field>
<field>
<id>METRICS_SUBJECT</id>
<enabled>Y</enabled>
<name>METRICS_SUBJECT</name>
</field>
<field>
<id>METRICS_TYPE</id>
<enabled>Y</enabled>
<name>METRICS_TYPE</name>
</field>
<field>
<id>METRICS_VALUE</id>
<enabled>Y</enabled>
<name>METRICS_VALUE</name>
</field>
</metrics-log-table>
</log>
<maxdate>
<connection />
<table />
<field />
<offset>0.0</offset>
<maxdiff>0.0</maxdiff>
</maxdate>
<size_rowset>10000</size_rowset>
<sleep_time_empty>50</sleep_time_empty>
<sleep_time_full>50</sleep_time_full>
<unique_connections>N</unique_connections>
<feedback_shown>Y</feedback_shown>
<feedback_size>50000</feedback_size>
<using_thread_priorities>Y</using_thread_priorities>
<shared_objects_file />
<capture_step_performance>N</capture_step_performance>
<step_performance_capturing_delay>1000</step_performance_capturing_delay>
<step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
<dependencies>
</dependencies>
<partitionschemas>
</partitionschemas>
<slaveservers>
</slaveservers>
<clusterschemas>
</clusterschemas>
<created_user>-</created_user>
<created_date>2017/07/07 12:04:06.061</created_date>
<modified_user>-</modified_user>
<modified_date>2017/07/07 12:04:06.061</modified_date>
<key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key>
<is_key_private>N</is_key_private>
</info>
<notepads>
</notepads>
<connection>
<name>Target CiviCRM</name>
<server>localhost</server>
<type>MYSQL</type>
<access>Native</access>
<database>${CIVIDB}</database>
<port>3306</port>
<username>${MYSQLUSER}</username>
<password>${MYSQLPW}</password>
<servername />
<data_tablespace />
<index_tablespace />
<attributes>
<attribute>
<code>EXTRA_OPTION_MYSQL.defaultFetchSize</code>
<attribute>500</attribute>
</attribute>
<attribute>
<code>EXTRA_OPTION_MYSQL.useCursorFetch</code>
<attribute>true</attribute>
</attribute>
<attribute>
<code>FORCE_IDENTIFIERS_TO_LOWERCASE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>FORCE_IDENTIFIERS_TO_UPPERCASE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>IS_CLUSTERED</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>PORT_NUMBER</code>
<attribute>3306</attribute>
</attribute>
<attribute>
<code>PRESERVE_RESERVED_WORD_CASE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>QUOTE_ALL_FIELDS</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>STREAM_RESULTS</code>
<attribute>Y</attribute>
</attribute>
<attribute>
<code>SUPPORTS_BOOLEAN_DATA_TYPE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>SUPPORTS_TIMESTAMP_DATA_TYPE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>USE_POOLING</code>
<attribute>N</attribute>
</attribute>
</attributes>
</connection>
<order>
<hop>
<from>Get Custom Fields</from>
<to>api_custom_field</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Get Option Groups</from>
<to>api_option_group</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Get Option Values</from>
<to>api_option_value</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Get Custom Groups</from>
<to>Change "extends" to not be a reserved JS keyword</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Change "extends" to not be a reserved JS keyword</from>
<to>Handle quirky Participant extensions</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Handle quirky Participant extensions</from>
<to>Change the field name back</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Change the field name back</from>
<to>api_custom_group</to>
<enabled>Y</enabled>
</hop>
</order>
<step>
<name>Change "extends" to not be a reserved JS keyword</name>
<type>SelectValues</type>
<description />
<distribute>Y</distribute>
<custom_distribution />
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name />
</partitioning>
<fields>
<select_unspecified>N</select_unspecified>
<meta>
<name>extends</name>
<rename>whatever</rename>
<type>None</type>
<length>-2</length>
<precision>-2</precision>
<conversion_mask />
<date_format_lenient>false</date_format_lenient>
<date_format_locale />
<date_format_timezone />
<lenient_string_to_number>false</lenient_string_to_number>
<encoding />
<decimal_symbol />
<grouping_symbol />
<currency_symbol />
<storage_type />
</meta>
</fields>
<cluster_schema />
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>224</xloc>
<yloc>144</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Change the field name back</name>
<type>SelectValues</type>
<description />
<distribute>Y</distribute>
<custom_distribution />
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name />
</partitioning>
<fields>
<select_unspecified>N</select_unspecified>
<meta>
<name>whatever</name>
<rename>extends</rename>
<type>None</type>
<length>-2</length>
<precision>-2</precision>
<conversion_mask />
<date_format_lenient>false</date_format_lenient>
<date_format_locale />
<date_format_timezone />
<lenient_string_to_number>false</lenient_string_to_number>
<encoding />
<decimal_symbol />
<grouping_symbol />
<currency_symbol />
<storage_type />
</meta>
</fields>
<cluster_schema />
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>224</xloc>
<yloc>288</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Get Custom Fields</name>
<type>TableInput</type>
<description />
<distribute>Y</distribute>
<custom_distribution />
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name />
</partitioning>
<connection>Target CiviCRM</connection>
<sql>SELECT ccf.label
, ccf.name
, ccg.name as custom_group_id
, cog.name as option_group
, ccf.data_type
, ccf.html_type
, ccf.default_value
, ccf.is_required
, ccf.is_searchable
, ccf.is_search_range
, ccf.weight
, ccf.is_active
, ccf.is_view
, ccf.text_length
, ccf.in_selector
, ccf.filter
FROM civicrm_custom_field ccf
JOIN civicrm_custom_group ccg ON ccf.custom_group_id = ccg.id
LEFT JOIN civicrm_option_group cog ON ccf.option_group_id = cog.id
ORDER BY ccf.id
</sql>
<limit>0</limit>
<lookup />
<execute_each_row>N</execute_each_row>
<variables_active>N</variables_active>
<lazy_conversion_active>N</lazy_conversion_active>
<cluster_schema />
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>800</xloc>
<yloc>80</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Get Custom Groups</name>
<type>TableInput</type>
<description />
<distribute>Y</distribute>
<custom_distribution />
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name />
</partitioning>
<connection>Target CiviCRM</connection>
<sql>SELECT title
,name
,style
,collapse_adv_display
,collapse_display
,extends
,extends_entity_column_id
,extends_entity_column_value
,is_active
,is_public
,is_reserved
,weight
FROM civicrm_custom_group
ORDER BY id
</sql>
<limit>0</limit>
<lookup />
<execute_each_row>N</execute_each_row>
<variables_active>N</variables_active>
<lazy_conversion_active>N</lazy_conversion_active>
<cluster_schema />
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>224</xloc>
<yloc>80</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Get Option Groups</name>
<type>TableInput</type>
<description />
<distribute>Y</distribute>
<custom_distribution />
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name />
</partitioning>
<connection>Target CiviCRM</connection>
<sql>SELECT
cog.name
, cog.title
, cog.description
, cog.data_type
, cog.is_reserved
, cog.is_active
, cog.is_locked
FROM civicrm_option_group cog
JOIN civicrm_custom_field ccf ON cog.id = ccf.option_group_id
-- this fixes a bug when exporting fields with no custom groups
UNION
SELECT 'bogus group', 'do not import this', 0, 0, 0, 0, 0</sql>
<limit>0</limit>
<lookup />
<execute_each_row>N</execute_each_row>
<variables_active>N</variables_active>
<lazy_conversion_active>N</lazy_conversion_active>
<cluster_schema />
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>512</xloc>
<yloc>80</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Get Option Values</name>
<type>TableInput</type>
<description />
<distribute>Y</distribute>
<custom_distribution />
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name />
</partitioning>
<connection>Target CiviCRM</connection>
<sql>SELECT
cov.label
, cog.name as option_group_id
, cov.value
, cov.name
, cov.grouping
, cov.filter
, cov.is_default
, cov.weight
, cov.description
, cov.is_optgroup
, cov.is_reserved
, cov.is_active
, cov.component_id
, cov.domain_id
, cov.visibility_id
, cov.icon
, cov.color
FROM civicrm_option_value cov
JOIN civicrm_option_group cog ON cov.option_group_id = cog.id
JOIN civicrm_custom_field ccf ON ccf.option_group_id = cov.option_group_id
-- this fixes a bug when exporting fields with no option groups/values
UNION
SELECT 'do not import this', 0,0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0,0
</sql>
<limit>0</limit>
<lookup />
<execute_each_row>N</execute_each_row>
<variables_active>N</variables_active>
<lazy_conversion_active>N</lazy_conversion_active>
<cluster_schema />
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>656</xloc>
<yloc>80</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Handle quirky Participant extensions</name>
<type>ScriptValueMod</type>
<description />
<distribute>Y</distribute>
<custom_distribution />
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name />
</partitioning>
<compatible>N</compatible>
<optimizationLevel>9</optimizationLevel>
<jsScripts>
<jsScript>
<jsScript_type>0</jsScript_type>
<jsScript_name>Script 1</jsScript_name>
<jsScript_script>//Script here
var whatever;
if (extends_entity_column_id == 1) {
whatever = 'ParticipantRole';
}
if (extends_entity_column_id == 2) {
whatever = 'ParticipantEventName';
}
if (extends_entity_column_id == 3) {
whatever = 'ParticipantEventType';
}</jsScript_script>
</jsScript>
</jsScripts>
<fields>
<field>
<name>whatever</name>
<rename>whatever</rename>
<type>String</type>
<length>-1</length>
<precision>-1</precision>
<replace>Y</replace>
</field>
</fields>
<cluster_schema />
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>224</xloc>
<yloc>224</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>api_custom_field</name>
<type>TextFileOutput</type>
<description />
<distribute>Y</distribute>
<custom_distribution />
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name />
</partitioning>
<separator>,</separator>
<enclosure>"</enclosure>
<enclosure_forced>Y</enclosure_forced>
<enclosure_fix_disabled>N</enclosure_fix_disabled>
<header>Y</header>
<footer>N</footer>
<format>DOS</format>
<compression>None</compression>
<encoding>UTF-8</encoding>
<endedLine />
<fileNameInField>N</fileNameInField>
<fileNameField />
<create_parent_folder>N</create_parent_folder>
<file>
<name>${LOCALFILES}/raw data/api_custom_field</name>
<is_command>N</is_command>
<servlet_output>N</servlet_output>
<do_not_open_new_file_init>N</do_not_open_new_file_init>
<extention>csv</extention>
<append>N</append>
<split>N</split>
<haspartno>N</haspartno>
<add_date>N</add_date>
<add_time>N</add_time>
<SpecifyFormat>N</SpecifyFormat>
<date_time_format />
<add_to_result_filenames>Y</add_to_result_filenames>
<pad>N</pad>
<fast_dump>N</fast_dump>
<splitevery>0</splitevery>
</file>
<fields>
<field>
<name>label</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>name</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>custom_group_id</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>option_group</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>data_type</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>html_type</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>default_value</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>is_required</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>is_searchable</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>is_search_range</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>weight</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>is_active</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>is_view</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>text_length</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>in_selector</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>filter</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>none</trim_type>
<length>255</length>
<precision>-1</precision>
</field>
</fields>
<cluster_schema />
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>800</xloc>
<yloc>176</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>api_custom_group</name>
<type>TextFileOutput</type>
<description />
<distribute>Y</distribute>
<custom_distribution />
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name />
</partitioning>
<separator>,</separator>
<enclosure>"</enclosure>
<enclosure_forced>Y</enclosure_forced>
<enclosure_fix_disabled>N</enclosure_fix_disabled>
<header>Y</header>
<footer>N</footer>
<format>DOS</format>
<compression>None</compression>
<encoding>UTF-8</encoding>
<endedLine />
<fileNameInField>N</fileNameInField>
<fileNameField />
<create_parent_folder>N</create_parent_folder>
<file>
<name>${LOCALFILES}/raw data/api_custom_group</name>
<is_command>N</is_command>
<servlet_output>N</servlet_output>
<do_not_open_new_file_init>N</do_not_open_new_file_init>
<extention>csv</extention>
<append>N</append>
<split>N</split>
<haspartno>N</haspartno>
<add_date>N</add_date>
<add_time>N</add_time>
<SpecifyFormat>N</SpecifyFormat>
<date_time_format />
<add_to_result_filenames>Y</add_to_result_filenames>
<pad>N</pad>
<fast_dump>N</fast_dump>
<splitevery>0</splitevery>
</file>
<fields>
<field>
<name>title</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>name</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>style</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>collapse_adv_display</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>collapse_display</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>extends</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>extends_entity_column_id</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>extends_entity_column_value</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>is_active</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>is_public</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>is_reserved</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>weight</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
</fields>
<cluster_schema />
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>224</xloc>
<yloc>352</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>api_option_group</name>
<type>TextFileOutput</type>
<description />
<distribute>Y</distribute>
<custom_distribution />
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name />
</partitioning>
<separator>,</separator>
<enclosure>"</enclosure>
<enclosure_forced>Y</enclosure_forced>
<enclosure_fix_disabled>N</enclosure_fix_disabled>
<header>Y</header>
<footer>N</footer>
<format>DOS</format>
<compression>None</compression>
<encoding>UTF-8</encoding>
<endedLine />
<fileNameInField>N</fileNameInField>
<fileNameField />
<create_parent_folder>N</create_parent_folder>
<file>
<name>${LOCALFILES}/raw data/api_option_group</name>
<is_command>N</is_command>
<servlet_output>N</servlet_output>
<do_not_open_new_file_init>N</do_not_open_new_file_init>
<extention>csv</extention>
<append>N</append>
<split>N</split>
<haspartno>N</haspartno>
<add_date>N</add_date>
<add_time>N</add_time>
<SpecifyFormat>N</SpecifyFormat>
<date_time_format />
<add_to_result_filenames>Y</add_to_result_filenames>
<pad>N</pad>
<fast_dump>N</fast_dump>
<splitevery>0</splitevery>
</file>
<fields>
<field>
<name>name</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>title</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>description</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>data_type</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>is_reserved</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>is_active</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>is_locked</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
</fields>
<cluster_schema />
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>512</xloc>
<yloc>176</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>api_option_value</name>
<type>TextFileOutput</type>
<description />
<distribute>Y</distribute>
<custom_distribution />
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name />
</partitioning>
<separator>,</separator>
<enclosure>"</enclosure>
<enclosure_forced>Y</enclosure_forced>
<enclosure_fix_disabled>N</enclosure_fix_disabled>
<header>Y</header>
<footer>N</footer>
<format>DOS</format>
<compression>None</compression>
<encoding>UTF-8</encoding>
<endedLine />
<fileNameInField>N</fileNameInField>
<fileNameField />
<create_parent_folder>N</create_parent_folder>
<file>
<name>${LOCALFILES}/raw data/api_option_value</name>
<is_command>N</is_command>
<servlet_output>N</servlet_output>
<do_not_open_new_file_init>N</do_not_open_new_file_init>
<extention>csv</extention>
<append>N</append>
<split>N</split>
<haspartno>N</haspartno>
<add_date>N</add_date>
<add_time>N</add_time>
<SpecifyFormat>N</SpecifyFormat>
<date_time_format />
<add_to_result_filenames>Y</add_to_result_filenames>
<pad>N</pad>
<fast_dump>N</fast_dump>
<splitevery>0</splitevery>
</file>
<fields>
<field>
<name>label</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>option_group_id</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>value</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>name</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>grouping</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>filter</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>is_default</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>weight</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>description</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>is_optgroup</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>is_reserved</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>is_active</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>component_id</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>domain_id</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>visibility_id</name>
<type>Integer</type>
<format>0</format>
<currency />
<decimal>.</decimal>
<group>,</group>
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>icon</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>color</name>
<type>String</type>
<format />
<currency />
<decimal />
<group />
<nullif />
<trim_type>both</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
</fields>
<cluster_schema />
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>656</xloc>
<yloc>176</yloc>
<draw>Y</draw>
</GUI>
</step>
<step_error_handling>
</step_error_handling>
<slave-step-copy-partition-distribution>
</slave-step-copy-partition-distribution>
<slave_transformation>N</slave_transformation>
</transformation>