Instead of placing XML files in a monitored directory, you can also place the XML file into a (CLOB or BLOB) field in a database (while even setting one or more meta data keys) with the database plugin:
You can connect to multiple databases by adding extra plugins. Addition of an extra plugin is described here.
Important limitation:
It is possible to set meta data key in the database and e.g. the mediaType, but an unsupported value for mediaType (when coming from the input data base plugin) is the value, preview. This value can be used if you want to receive the output as a PDF back into the data base. If this value is set in the database, then the workflow is not used (instead the default template is used). A way to get around that is e.g. to set another meta data key in the data base, transfer that, and check that in the used template, which sets the mediaType accordingly.
The database should be accessed via a JDBC driver. A good place for the JDBC driver is:
{INTERFORMNG_HOME}\profiles\default\plugins\database-printjob\lib-ext
The advantages by placing it here is, that it will not be removed during normal upgrade, downgrade or uninstall of InterFormNG.
An example using a MYSQL database is included below.
With the Test connection icon on the right you can verify, if InterFormNG is able to connect to the database. The result is written just below the icon.
It is possible to let InterFormNG use database entries as input. The XML file is here to be inserted into a field. Below this possibility is described when implemented with MySQL and Linux.
InterFormNG use JDBC and Hibernate to connect to the database.
In this example we will use MySQL, running on the same server as InterFormNG.
But any database server should work, as long as there is a suitable JDBC driver.
Using Hibernate it is possible to let InterFormNG create the needed table(s) and fields.
But you can also use an existing database.
In that case you'll have to edit job.hbm.xml to use the correct table and fields.
To access the database, InterFormNG needs a username/password and the authorization to read and update the database.
In this example we will use a database named 'interformDatabase' and a user called 'interformUser' with the password 'interformPassword'.
Input files can be kept via the backup service.