Page History
In the scenario where ISV clients are installing on-premise, it is sometimes necessary to bundle pre-built content with the installation itself. Pre-built content would generally exist in the form of YFX files that were exported from another instance of Yellowfin where the master-copy of the content was authored.
There are several ways to import content into Yellowfin. It could be imported manually through the UI itself, or automatically installed as part of Yellowfin’s installation. There are two ways automated importing can be achieved, via the REST API or via the Standalone Importer
Importing via the Standalone Command Line Importer
The Standalone Importer can work without Yellowfin actually running. It can connect to the repository database directly and import content contained in a YFX file.
The command line importer can be run from the command line with following command:
java -cp "appserver/webapps/ROOT/WEB-INF/lib/*:appserver/lib/*" com.hof.standalone.ImportData <properties file> <import file>
The classpath (-cp) parameter may require different quoting on different operating systems. The above command has the correct classpath for executing the command in the Yellowfin directory.
The <properties> file defines the connection details for the Yellowfin repository database. An example import.properties is located in Yellowfin/development/examples/standalone/import.properties on a standard install.
The <import file> is a YFX or XML that has been exported from Yellowfin.
Importing via the REST API
Content can be imported into Yellowfin via the POST /api/rpc/import-export/import-content end-point (https://developers.yellowfinbi.com/dev/api-docs/current/#operation/importContent ). When performing an import of initial content the Yellowfin service will need to be started, which could happen directly after installing Yellowfin itself.
The following code examples illustrate how to import a specified YFX file via the REST API. These consist of two requests to the /api/rpc/import-export end-point. The initial request enumerates the content contained in the export file. The second request imports the export file with importOptions created from the initial request, to add all the content, and skip none.