This site is the home page for a new project to re-fresh the PDI icon library. We will be responsible for the initial refresh, but we may publish the library early to the community to solicit feedback and contributions. We're kicking around ideas to have fun with it - contests, submit themed icons, etc.
Icon Types
![]()
Toolbar Icons
Current Implementation
Image Size: 16x16px, transparent background, gets super-imposed onto standard button
Rendered Size (i.e. with button border stuff painted): 22x22px
States: standard, fly-over, disabled, and pressed states. Here is an example:
|
Standard |
|
fly-over |
|
disabled |
|
pressed |
Toolbar Icon Descriptions
All images below are the raw, 16x16 images from kettle.jar
| Icon | Filename | Description |
|---|---|---|
|
new.png | New (Job or Transformation) |
|
open.png | Open (Job or Transformation) |
|
save.png | Save |
|
saveas.png | Save As |
|
print.png |
Print |
|
run.png |
Run |
|
preview |
Preview the transformation |
|
replay.png |
Replay the transformation |
|
check.png |
Verify the transformation |
|
impact.png |
Analyze Impact of the transformation on the database |
|
SQLbutton.png |
Generate SQL needed to run the transformation |
Tab Icons
Current Implementation
There are currently only icons on the tabs if the tab represents a Job or a Transformation. Here is a more complete list of tab types:
- Welcome Page
- Web Page
- Job- Graphical View
- Job Log
- Job History - log history for the Job
- Transformation - Graphical View
- Transformation Log
- Transformation history - log history for the transformation
Image Size: 16x16px
States: there is only one state for this type of icon - it just gets painted on the tab.
| Icon | Filename |
Description |
|---|---|---|
|
chefgraph.png |
Icon on Graphical View tab for Job |
|
spoongraph.png |
Icon for Graphical View tab for Transformation |
Future Implementation
I recommend that if we are going to have icons on the tabs for Jobs and Transformations, we put icons on for the other tab types as well. You could replace the textual description of the tab (i.e. Trans History, Trans Log, etc.) and just have the icon and the Job or Transformation name.
Step Icons
Current Implementation
Image Size: 32x32px when rendered in the Graphical View Tab, 16x16px when rendered in the tree view
States:
- Standard: 32x32 shown in graphical view, a 1px border is applied to image
- Tree View: currently same image is used, but scaled down to 16x16px
- Selected: a ~4px border is painted around the icon image
|
standard |
|
selected |
|
tree view |
Transformation Steps
Inputs:
| Icon | Filename |
Description |
|---|---|---|
|
TFI.png | Read data from a text file in several formats |
|
TIP.png |
Read data from a database table |
|
SYS.png | Get information from the system like system dates, arguments, etc. |
|
GEN.png |
Generate a number of empty or equal rows |
|
CIP.png |
Read rows of data from a cube file |
|
XBI.png |
Reads data from an XBase type of database file |
|
XLI.png |
Reads data from an Excel Workbook |
|
XIN.png |
Reads data from an XML file |
|
XIS.png |
Reads data from an XML file using steaming - consumes less memory and is faster |
|
GFN.png |
Reads filenames from the operating system and passes along to the next step |
|
ProSAPCONN.png |
Reads data from SAP. Note: this is a third party plug in, I wouldn't change the appearance, merely add images for other states |
|
SFR.png |
Reads shape file data from an ESRI shape file and linked database. More on shapefiles... |
Outputs:
| Icon |
Filename |
Description |
|---|---|---|
|
TFO.png |
writes rows to a text file |
|
TOP.png | write info to a database table |
|
INU.png |
update or insert rows into a database based upon keys |
|
UPD.png |
update data in a database table based on keys |
|
Delete.png |
delete data in a datbase table based on keys |
|
COP.png |
write rows of data to a cube |
|
XOU.png |
write data to an XML file |
|
XLO.png |
stores records into an Excel workbook (.XLS) including formatting |
|
ACO.png |
stores records into a Microsoft Access table |
Lookup:
| Icon |
Filename |
Description |
|---|---|---|
|
DLU.png | Lookup values in a database using field values |
|
SLU.png |
Lookup values coming from another stream in the transformation |
![]() |
PRC.png |
Get back information by calling a stored procedure in a database |
|
WEB.png |
Call a web-service over HTTP by supplying a base URL and allowing parameters to be set dynamically |
Transform:
| Icon |
Filename |
Description |
|---|---|---|
|
SEL.png |
Select or remove fields from the stream. Optionally add metadata like rename fields, type, length, etc. |
|
FLT.png |
filters rows using simple equations |
|
SRT.png |
Sort rows based on field values (ascending/descending) |
|
SEQ.png |
Get the next value from a sequence |
|
DUM.png |
This step doesn't do anything, but is useful in testing when you split streams and are working on one path at a time. |
|
NRM.png |
De-normalized information can be normalized using this step |
|
Kopie van SPL.png |
Splits a field into two or more fields |
|
UNQ.png |
Removes any duplicate records. Only works completely if the data is sorted, otherwise only duplicates that are sequential in the data set will be removed. |
|
GRP.png |
Builds aggregates in a group by fashion, also requires that rows be sorted. |
|
NUI.png |
Sets a field value to null if it equals the specified constant |
|
CLC.png |
Creates new fields using simple calculations |
|
XIN.png |
Encode several fields into an XML fragment |
|
CST.png |
Add or more constants to the input rows |
|
UNP.png |
De-normalize rows by looking up key-value pairs and by assigning them to new fields in the output |
|
FLA.png | Flattens consecutive rows based upon the order they appear in the stream |
|
VMP.png |
Maps values of a certain field from one value to another |
|
BLK.png |
This step blocks until all incoming rows have been processed. All subsequent steps only receive the last input row to this step |
![]() |
DPL.png |
This is a dummy plug in step included as an example of how to implement custom plug ins |
Joins:
| Icon |
Filename |
Description |
|---|---|---|
|
JRW.png | outputs the cartesian product of the input streams |
|
DBJ.png |
execute a database query using stream values as parameters |
|
MRG.png |
merge two streams of rows sorted on a certain key |
|
SMG.png |
sorted merge |
|
MJOIN.png |
joins two streams on a given key and outputs a joined set (to avoid confusion with the other merge step we should create a new icon) |
Scripting:
| Icon | Filename | Description |
|---|---|---|
|
SCR.png | Creates java scripts to calculate new fields or modify existing ones. |
|
SCR_mod.png | Similar to Java Script Value but with an expression building interface and better performance |
|
SQL.png | Execute a SQL script, optionally parameterized using input rows |
Data Warehouse:
| Icon | Filename | Description |
|---|---|---|
|
DIM.png | Update a slowly changing dimension in a data warehouse. Alternatively, lookup information in this dimension. |
|
CMB.png | Update a junk dimension in a data warehouse. Alternatively, lookup information in this dimension. |
Mapping:
| Icon | Filename | Description |
|---|---|---|
|
MAP.png | Run a mapping (sub-transformation) |
|
MPI.png | Specify the input interface of a mapping |
|
MPO.png | Specify the output interface of a mapping |
Job:
| Icon | Filename | Description |
|---|---|---|
|
FCH.png | This allows you to read rows from a previous entry in a job. |
|
TCH.png | This step writes output to the executing job to be used by the next step in the job. |
|
SVA.png | Set environment variables based on a single input role. |
|
GVA.png | Determine the values of certain variables (KETTLE or environment) and put them into field values. |
|
FFR.png | Read filenames used or generated in a previous entry in a job. |
|
FTR.png | Allows you to set filenames in the result of this transformation |
Inline:
| Icon | Filename | Description |
|---|---|---|
|
INJ.png | Inject rows into the transformation using the Java API. |
|
SKR.png | A socket client that connects to a server (socket writer step) |
|
SKW.png | A socket server that can send rows of data to a socket reader. |
Deprecated:
| Icon | Filename | Description |
|---|---|---|
|
AGG.png | allows you to aggregate rows. |
Job Steps
| Icon | Filename | Description |
|---|---|---|
|
STR.png | Start step of a transformation, does nothing |
|
DUM.png | Dummy example of a job plug in |
|
spoon32.png | Executes a transformation |
|
JOB.png | Executes a job |
|
SHL.png | Executes a shell script |
|
MAIL.png | Sends an email |
|
SQL.png | Executes SQL on a certain database connection |
|
FTP.png | Get files using FTP |
|
TEX.png | Check if table exists on a database connection |
|
FEX.png | Check if a file exists |
|
RES.png | Evaluates the results of the execution of the previous job entry |
|
SFT.png | Get files using SFTP (secure file transfer protocol) |
|
WEB.png | Get files using HTTP |
|
CFJ.png | Create a (empty) file |
|
DFJ.png | Delete a file |
|
WFF.png | Wait for a file to appear |
|
BFC.png | Binary compare of 2 files |
Misc. Tree Icons
Size: 16x16px
States: Only one - standard. I don't recommend any additional states, but perhaps icons for other nodes in the tree.
| Icon | Filename | Description |
|---|---|---|
|
BOL.png | catch all icon for tree nodes with no specific icon |
|
CNC.png | database connections |
|
HOP.png | hops |
I recommend adding icons for the following other nodes in the tree:
- Transformation Steps
- Transformations - should mirror the icon used on Transformation Graphical View Tab
- Jobs - should mirror the icon used on Job Graphical View Tab
- Job Entries
Other Misc. Icons
| Icon | Filename | Description |
|---|---|---|
|
variable.png | visual indicator in dialogs that an entry field supports variables |
Future Implementation
Add a roll-over state
Change the current behavior of selected state - some other visual indication the step object(s) are selected
Pressed state?

