App Management

Fusion apps provide tailored search functionality to specific groups of users.

An app is a named set of linked objects, including collections, datasources, index and query pipelines, index and query profiles, parsers, and more. You can define security on a per-app basis using roles and security realms.

Generally, you will create multiple apps for different purposes. You can view all of your apps in the launcher when you log in to the Fusion UI:

Launcher

To enter the Fusion workspace for any app, click the app name.

In the Fusion workspace, you can hover over the top left corner to switch to another app, create a new app, or return to the launcher:

App picker

Create an app

To create an app:

  1. Navigate to the launcher and click Create new app.

    Create a new app from the launcher

  2. Enter an app name.

    Optionally, you can also enter a description and select the app tile color.

    If you want to choose the name of the first collection in the app, then deselect Create new app default collection. When you do this and click Create app (in the next step), Fusion Server prompts you to enter a name for the first collection. Otherwise, Fusion Server creates a default collection whose name is the same as the app name.

  3. Click Create App.

    The Fusion workspace appears, and you are ready to work with your app’s first collection.

Share objects between apps

Sharing objects between apps lets you reuse parts of apps and synchronize apps without duplicating objects. For example, after you have developed a query pipeline that is well-suited to your data and search application, you can reuse it in another app with a different set of datasources.

Important
When a shared object is modified in one app, the changes affect all other apps that share the object.

To share an object between apps:

  1. Navigate to the app that does not yet include the object.

  2. Navigate to System > Object Explorer or click Find Objects.

  3. Click In Any App.

  4. Select the object you want to include in this app.

  5. Hover over the object to reveal the app icon.

    Hover over an object

  6. Click the app icon.

  7. Select Add to this app.

    Add to this app

    Object Explorer now displays a link between the object and this app:

    Added to this app

Now you’ll see the shared object in the Fusion workspace for this app.

Export an app

To export an app, you can use either the Fusion UI or the Objects API.

Important
When upgrading from one Fusion version to a later one, you must use the migrator to migrate objects. The migrator automates the process of translating relevant objects to the new version. Exporting an object from one Fusion version and importing it into a different Fusion version isn’t supported.

Export an app with the Fusion UI

To export an app with the Fusion UI
  1. Navigate to the launcher.

  2. Hover over the app you want to export and click the Configure icon:

    App config button

  3. In the app config window, click Export app to zip:

    Export app to zip

    This downloads a zip file that you can import into other instances of Fusion Server.

Export an app with the Objects API

The examples below show how to export one or more apps:

Export all apps
curl -u user:pass http://localhost:8764/api/objects/export?type=app > all-apps.zip
Get all app IDs, then export one app by ID
> curl -u user:pass http://localhost:8764/api/apps

[ {
  "id" : "movies",
  "name" : "Movies",
  "description" : "Search the movielens database.",
  "dataUri" : "/App-Tile-01-460x160.png",
  "properties" : {
    "headerImageName" : "headerImage1",
    "tileColor" : "apps-darkblue",
    "previousCollectionId" : "movies"
  }
}, {
  "id" : "tech-pubs",
  "name" : "TechPubs",
  "description" : "Search the documentation.",
  "dataUri" : "/App-Tile-02-460x160.png",
  "properties" : {
    "headerImageName" : "headerImage2",
    "tileColor" : "apps-darkblue",
    "previousCollectionId" : "tech-pubs"
  }
} ]

> curl -u user:pass http://localhost:8764/api/objects/export?app.ids=tech-pubs > techpubs.zip
Note
When you export an app that includes objects that are shared with other apps, then all apps linked to that object are also exported.
Export two apps by ID
curl -u user:pass http://localhost:8764/api/objects/export?app.ids=tech-pubs,movies > two-apps.zip
Tip
For the app object type, the deep parameter is not used. Linked objects are always included when exporting apps.

Import an app

To import an app, you can use either the Fusion UI or the Objects API.

Import an app with the Fusion UI

To import an app with the Fusion UI
  1. Navigate to the launcher.

  2. Click Import app.

    Import app

  3. Under Data File, click Choose File and select the zip file containing the app you want to import.

  4. If your app has usernames and passwords in a separate file, select it under Variables File.

    Tip
    If the variables file is included inside the zip file, then you don’t need to upload it separately.
  5. In some cases, you can edit parameter values to use the new values in the imported app. If this is the case, Fusion displays a dialog box that lets you edit the parameter values.

    Edit parameter values

    Make desired changes, and then click Import.

Import an app with the Objects API

Like any other Fusion object, an exported app is contained in a zip file which Fusion can consume upon import. The zip file does not need to be expanded first.

Import objects from a file and stop if there are conflicts
curl -u user:pass -H "Content-Type:multipart/form-data" -X POST -F 'importData=@/Users/admin/Fusion/export.zip' http://localhost:8764/api/objects/import?importPolicy=abort
Import objects, substitute the password variables, and merge any conflicts
curl -u user:pass -H "Content-Type:multipart/form-data" -X POST -F 'importData=@/Users/admin/Fusion/export.zip' -F 'variableValues=@password_file.json' http://localhost:8764/api/objects/import?importPolicy=merge
Note
password_file.json must contain plaintext passwords.
Import a zip file of Fusion objects and merge any conflicts
curl -u user:pass -H "Content-Type:multipart/form-data" -X POST -F 'importData=@/Users/admin/Fusion/techpubs.zip' http://localhost:8764/api/objects/import?importPolicy=merge

Delete an app

How to delete an app
  1. Navigate to the launcher.

  2. Click the Configure icon on the app you want to delete:

    App config button

  3. Click Delete app:

    Delete app

    Fusion Server prompts you to confirm that you want to delete the app.

  4. Click Yes, delete.