For developers to have their Transforms listed on the Transform hub the following fields are required:
Field | What it Means | Example |
* Name | Name of your transforms | IMDB transforms |
* Seed URL | Where the seed of your transforms are location (URL). You can optionally ask that this not be visible in the GUI as well. If this is not specified it will not be displayed. | http://transf.moviesrus.com/seed.xml |
* Description (short) | A short description of your transforms. | Query the Internet Movie Database |
* Description (long) | A longer description of your transforms. | This set of transforms allows you to pivot from movie, director and actor. |
Modified | A Unix timestamp of when this entry was last modified | 474336000 |
* Icon (URL) | A 48x48px PNG icon for your transforms. | http://www.moviesrus.com/myicon.png |
* Provider Name | You / your company name. | MoviesRUs |
* Provider website | Where users can read about you and your transforms. | http://www.moviesrus.com/transforms/ |
*Provider email | Where users can email you. | transform_info@moviesrus.com |
Provider phone | Where users can phone you. Let's hope they don't. | 555-123-1234 |
Registration URL | If users need to register for the transforms this page should explains the process to them. | http://www.moviesrus.com/transforms/register.php |
Input Fields | If you want to perform access control on your transforms (e.g. make it commercial) these are the fields you'll use in your transforms to identify users. Fields have the following properties:
| See example below |
Pricing info | Explain to users how much your transforms cost (if at all). | $0.01 per transform |
Pricing website | At this website they'll pay / enter CC info. | http://www.moviesrus.com/pricing.php |
Note: * - required fields.
Example XML
Below is an example of Transform hub XML, please note this is CaSe SeNsItIvE.
<Seed Pos="10" Display="Commercial TAS v3"> <Url Visible="true">https://alpine.paterva.com/CTAS31.xml</Url> <!--visible is optional, default "false"--> <Description>This is a short description.</Description> <Details>This can be a very very very very very long description. This can be a very very very very very long description.</Details> <Modified>1417531063521</Modified> <!-- unix time --> <Icon><!-- 48x48px png--> <Url>https://www.paterva.com/web7/images/menu/menu5.png</Url> </Icon> <Provider> <Name>Paterva</Name> <Website>www.paterva.com</Website> <Email>support@paterva.com</Email> <Phone>+27 555 5555</Phone> </Provider> <Registration> <Website>http://register.paterva.com</Website> </Registration> <Pricing> <Info>$1 per transform or $100 per month unlimited transforms.</Info> <Website>https://pay.paterva.com</Website> </Pricing> <Inputs> <!-- Examples... --> <Input Name="api-key" Display="API Key" Type="string" Optional="true" Auth="true"/> <Input Name="username" Display="User Name" Type="string" Auth="true"/> <!-- default for Optional and Auth is "false" --> <Input Name="password" Display="Password" Type="string" Auth="true"/> <Input Name="service-url" Display="Main Blah URL" Type="url" Optional="true" DefaultValue="http://some.service.com/blah"/> <Input Name="from" Display="Start Date" Type="date" Optional="true" DefaultValue="1999-04-22"/> <Input Name="netblockSize" Display="Netblock Size" Type="string" Optional="false" DefaultValue="10"/> </Inputs> </Seed>
600 error messages
If your Transform returns the following XML it will result in the Maltego client popping up an useful error message prompting the user to fill out the fields marked as 'Auth' (as defined in the Transform hub item).
An example of this can be seen below:
<maltegomessage> <maltegotransformexceptionmessage> <exceptions> <exception code="600">Your error message such as API key required</exception> </exceptions> </maltegotransformexceptionmessage> </maltegomessage>