HOME      NEWS      MAP

File Transfert Protocol

FTP is normally used to transfert File.

However, it is possible to used this protocol to generate UML diagrams.

The way is to launch PlantUML is FTP mode : it runs as a mock FTP server. You can upload text files to this server. Then, diagrams will be automatically generated in this FTP server. You will just have to download the image files from the FTP server.

To start the ftp server, just launch the following command line:

java -jar plantuml.jar -ftp
By default, the server runs on the 4242 port, but you can specify another port:

java -jar plantuml.jar -ftp:12345
You can then connect to 127.0.0.1 on the 4242 port with any FTP client, using any user/password.

The FTP server implementation is really simple : you cannot create subdirectory, you cannot rename files... You can only delete files.

Actually, this is not a real FTP server. Nothing is stored on disk, everything runs in memory.

You can check codeuml to have an example of running application.

The advantage of this approach is that you can easily integrate PlantUML with a none Java application, if the other application can handle FTP.
This may be simplier than launching a Java process for each diagram transfert.

Example of Transfert

Status:	Connecting to 127.0.0.1:24242...
Status:	Connection established, waiting for welcome message...
Response:	220 PlantUML
Command:	USER anonymous
Response:	331 Password required
Command:	PASS ***
Response:	230 Logged in.
Command:	SYST
Response:	215 UNIX Type: L8.
Command:	FEAT
Response:	502 Command not implemented.
Status:	Connected
Status:	Retrieving directory listing...
Command:	PWD
Response:	257 "/" is current directory.
Command:	TYPE I
Response:	200 Command okay.
Command:	PASV
Response:	227 Entering Passive Mode (127,0,0,1,39,59).
Command:	LIST
Response:	150 Opening ASCII mode data
Response:	226 Listing completed.
Status:	Directory listing successful
Status:	Connecting to 127.0.0.1:24242...
Status:	Connection established, waiting for welcome message...
Response:	220 PlantUML
Command:	USER anonymous
Response:	331 Password required
Command:	PASS ***
Response:	230 Logged in.
Status:	Connected
Status:	Starting upload of data1.txt
Command:	CWD /
Response:	250 "/" is new working directory..
Command:	PWD
Response:	257 "/" is current directory.
Command:	TYPE A
Response:	200 Command okay.
Command:	PASV
Response:	227 Entering Passive Mode (127,0,0,1,39,60).
Command:	STOR data1.txt
Response:	150 FILE: data1.txt
Response:	226 Transfer complete.
Status:	File transfer successful, transferred 339 bytes in 1 second
Status:	Retrieving directory listing...
Command:	TYPE I
Response:	200 Command okay.
Command:	PASV
Response:	227 Entering Passive Mode (127,0,0,1,39,61).
Command:	LIST
Response:	150 Opening ASCII mode data
Response:	226 Listing completed.
Status:	Directory listing successful
Status:	Retrieving directory listing...
Command:	PASV
Response:	227 Entering Passive Mode (127,0,0,1,39,62).
Command:	LIST
Response:	150 Opening ASCII mode data
Response:	226 Listing completed.
Status:	Directory listing successful
Status:	Starting download of /data1.png
Command:	PASV
Response:	227 Entering Passive Mode (127,0,0,1,39,63).
Command:	RETR data1.png
Response:	150 Opening
Response:	226 Transfer complete.
Status:	File transfer successful, transferred 3�705 bytes in 1 second

HOME      NEWS      MAP