This is a pre-configured workspace that lets you plug in your own applications in order to use the Symphony views and their intent support to develop a workflow using Symphony and the power of OpenFin. More information about the manifest settings and capabilities of this example workspace can be found here: workspace-starter/how-to/customize-workspace.
Requirements | Version |
---|---|
Node.js | 16+ |
To check to see if you can access everything you will need for this contest please visit our health check page:
If the health check page flags a problem it may be that your organization has Desktop Owner Settings configured. Please reach out on Symphony chat that has been setup for this challenge.
To have a handy development tool and ensure you have OpenFin installed start off by launching or downloading and installing:
Once you have that up and running you can run the steps below and you will see your workspace platform show up on the desktop (the Home and Dock UI should appear) and it should also be listed in OpenFin Process Manager.
- Install dependencies and do the initial build. Note that these examples assume you are in the sub-directory for the example.
npm run setup
- Start the test server in a new window.
npm run start
- Start Your Workspace Platform (this starts Workspace if it isn't already running).
npm run client
-
Type any character into the search box or hit enter to show the default list of Applications or use the launched dock.
-
If you modify the project and wish to rebuild you can run setup again or the build command below:
npm run build
If you wish to ensure you are targeting version 12 of OpenFin Workspace then there is an NPM dos command you can run. If a warning mentions an existing DOS entry then we recommend not replacing it (as it may include details of an internal CDN for OpenFin runtimes that is required for your organization).
Set Windows registry key for Desktop Owner Settings. This example runs a utility desktop-owner-settings.bat that adds the Windows registry key for you, pointing to a local desktop owner settings file so you can test these settings. If you already have a desktop owner settings file, this script prompts to overwrite the location. We do not recommend doing that.
(WARNING: This script kills all open OpenFin processes. This is not something you should do in production to close apps as force killing processes could kill an application while it's trying to save state/perform an action).
npm run dos
- We include two Symphony Views Focus & Collaboration that can be launched.
- We include a simple JavaScript View that is in the public folder that you can customize
- We include a simple TypeScript View that is in the public folder with the ts source file in the client/src/views/template folder. This view includes an example of publishing a notification and listening to notification events.
- We include Views that link to Symphony and OpenFin documentation.
- We include OpenFin Tools related to debugging, fdc3 context and intents and notifications.
We are pointing to the Symphony develop pod.
Go to the public/apps.symphony.json and update the symphony urls to your pod at lines 10 and 77.
You have a json file for your own apps (it currently lists the JavaScript and TypeScript views for you to edit). It can be found in public/apps.json.
We are using FDC3 2.0 App Definitions. https://fdc3.finos.org/schemas/2.0/app-directory.html#tag/Application/paths/~1v2~1apps/get
The pre-configured platform: https://github.com/built-on-openfin/workspace-starter/tree/workspace/v12.0.0/how-to/customize-workspace is configured to support manifests launched from localhost or OpenFin recognised domains.
To host it on an internal server (or your own machine but not using localhost as the address) you will need to clone and build the platform and add it to your public folder.
- git clone https://github.com/built-on-openfin/workspace-starter.git
- switch to the workspace/v12.0.0 branch
- cd to how-to/customize-workspace
- type: npm run setup
- type: npm run prepare-package (this will generate a packaged folder)
- copy the contents of the packaged/dist folder to your contest starter public folder
- copy the folder "schemas" from packaged to your contest starter public folder
- update manifest-hosts.json to include your intended domain
- in your manifest.fin.json (or a copy you intend to deploy) replace "https://built-on-openfin.github.io/workspace-starter/workspace/v12.0.0/" with the path of your intended domain (the path that hosts your public folder)
- when you launch the manifest from the internal server it should now load like it does when run from localhost.