Transform Settings

Overview

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. An example of this can be seen splitting an IP address into a Netblock (the popup asks the size of the netblock to split into):



Implementation

Popup settings can be configured on the TDS via the 'transform settings' section of the web interface. These settings look as follows:



It is important to note the following when configuring a setting:
  • Name - This is the variable name and is what is used within the transform.
  • Display Name - This is what is exposed to the client, with the previous example this would be "Block Size".
  • Default Value - This value is only used if the setting is NOT a popup.
  • Optional - Describes whether a setting must be filled in for this transform or not.
  • Popup - Requests that the setting 'pops up' to the analyst when running a transform.

Note:

There is no difference between a setting that pops up and one that does not in terms of implementation.


Changing Popup Settings

If you do mark a setting as 'remember' and it no longer pops up or if you wish to have a setting that was originally not marked as a popup to be one again you can simply enable and disable this within the client. To do this click on 'Manage Transforms' under the Manage tab. From here you simply need to find the transform, click on the setting and enable or disable popup as seen below:



Example Code

This code example briefly shows retrieving a setting that has a Name of 'popupVar' in PHP:

<?php
//include our MaltegoTDS class(es)
include_once("Maltego.php");

//set return content-type to be XML
header ("content-type: text/xml");

$maltegoInput = new MaltegoTransformInput();
$maltegoTransform = new MaltegoTransformResponse();


if ($maltegoInput->getEntity())
{
	//fetch the popup value (it is a transform field)
	$enteredName = $maltegoInput->transformFields["popupVar"];
	//return as phrase entity containing the above popup value
	$maltegoTransform->addEntity("maltego.Phrase","hello" . $enteredName);
	$maltegoTransform->returnOutput();
}
else
{
	$maltegoTransform->addException("No input entity found");
	$maltegoTransform->throwExceptions();
}