Transform Settings (input)
Transform Settings are a means of allowing an additional input when running a Transform. Often these are configured as "popups" where the user is prompted for a question.
Most standard Transforms have Transform Settings. An example can be seen below in the reverse DNS Transform where the HTTP timeout to Robtex can be configured:
To get to the Transform Manager click Transforms in the top ribbon and select Transform Manager. Any Transform setting can be configured to pop-up. This is useful when the user wants to change the setting prior to the Transform running. Such is the case with IP to Netblock (natural boundaries). The user might choose to select class C (256) or sub class Cs (16,32,64) or perhaps even class Bs (65535).
This Transform setting looks as follows in the manager:
The small dialog icon next to the setting indicates that this Transform will pop up a setting prior to executing the Transform, which will look similar to this:
The user might choose to fix the value for subsequent Transforms by checking the Remember these settings checkbox. In order to get the Transform to pop up the setting dialog again, the ‘Popup’ checkbox needs to be selected in the Transform Manager.
To quickly reach each Transforms’ individual settings you can click on the small wrench icon in the context menu:
Transform setting types
The Maltego GUI client supports many different pop-up types (integer, dates, lists of strings and integers, etc.) but the Transform protocol currently only supports the use of strings and integers.
Using Transform settings in TRX
Transform settings can be applied to custom Transforms because Transform settings are prompted for, prior to the Transform running, their definitions are stored in the Transform itself and are loaded when the Transform is discovered. Therefore, should you change Transform settings you may need to force an update on the Hub Item or wait for the periodic background discovery to rediscover settings (from the Seed) and have the Transform definition updated.
Transform settings are defined on the TDS and can be re-used across any number of Transforms.
A new Transform setting requires:
A name: As used in the code
A display dialog: To communicate the request to the user
A default value: If no value is entered, this value will be used (so choose carefully)
A pop-up state: Determines whether it will prompt the user to change the value
Optional/Mandatory: Is the setting optional or mandatory?