Frequently Asked Questions
Does Finsemble work on OSX? Linux?
- Currently, Finsemble is only supported on the Windows operating system for
production use. Virtual machines, such as Parallels, can also be used to run
Finsemble while using the operating system of your choice.
What are Finsemble's requirements?
- Monitor: Resolution - Minimum 800x600 / No max, Scaling - Multiples of 100
- Build: Node.js - 12.13.x
- Container: Electron: 7.1.2
What is your release cycle?
- Finsemble operates on a lean software development life cycle. We prioritize
features, but don't assign delivery dates.
How do I submit a bug report or feature request?
- If you encounter bugs with Finsemble, you can reach out to
firstname.lastname@example.org for support. If you have a perspective on something
that would be worthwhile for your organization, touch base with us via
What are the UI options for my Finsemble application?
- We've created production-ready UI components.
These were built using
React controls, which
are discrete UI elements. You can use these React controls to extend our
sample components, or they can be completely replaced with components of your
own devising. We'll always support the controls we used to build our UI
components, but you have the ability to go in new directions and completely
tailor your application's user experience.
Can I disable the toolbar in my Finsemble application?
- Sure. We included the built-in UI components (e.g., linker panel, toolbars,
dialogs) in the seed project so you'd have an example of the sort of UI that
an end user might expect. However, we kept them in the source directory so
you'd have the ability to change or remove them. The toolbar is disabled by
removing its definition from the systemComponents.json. If you remove the
"Toolbar" property from that file, the toolbar will no longer show up.
Developing with Finsemble
Why shouldn't I just build an application from scratch?
- Essentially, Finsemble allows your developers to focus on the parts of the
application that bring value to your organization while we do the plumbing
necessary to get the application to work. Finsemble accelerates your
development cycle and time to market drastically. By building on the Finsemble
framework, it takes comparatively little development work to build an
application of interlocking components. This is because Finsemble comes with a
pre-built infrastructure: it comes (nearly) assembled out of the box,
batteries included. That said, Finsemble affords you total freedom in creating
exactly the application you want for your organization. Additionally,
Finsemble is built by developers for developers. Windows only need to be aware
of data objects, not necessarily other windows, so cross app communication is
simple. The Distributed Store allows windows to share and sync data in real
time. Finally, the Central Logger simplifies debugging an application built
across multiple windows and services.
How do I use Finsemble with Typescript? Finsemble ships with a TypeScript
loader and TSLint to allow the use of TypeScript in the src and in the
This means that you can write your React components using files with tsx
extensions. You can also write preload scripts using TypeScript files.
- We provide a file that contains a set of overrides that will convert HTML5
window actions to corresponding Finsemble actions. It can be found in
../src/preloads/nativeOverrides.js. Overrides must be specified for each
component via a "preload" script. You do this by adding the preload to the
component config. Full instructions are found inside nativeOverrides.js.
Can I use Grunt instead of Gulp to build my own components?
- Sure! It's possible to run Grunt tasks from Gulp. You can follow the
instructions from gulp.js
Is it possible to switch to a different storage engine?
- By default, Finsemble stores data locally. The Storage Client API uses your
storage adapter to save and retrieve data. The default storage adapter in the
seed project stores data locally via IndexedDB. However, the storage adapter
can be replaced with a custom version to work with another type of data store,
e.g., a remote database. You simply need to adjust the adapter so that it
interfaces the Storage Client API with that data store. More information about
how you can do this can be found in our
Storing Data tutorial.
Can my application start on operating system startup?
- Absolutely! Both developers and users can make it so Finsemble launches at
start-up. In your application's manifest file (in our seed, it's in
..configs/application/manifest-local.json), edit the
You'll need to modify the
target property. Simply add
to the array and your application will launch on start-up. It looks like this:
"description": "Cosaic Local",
"name": "Cosaic - LOCAL",
"startMenuRootFolder": "Cosaic Local"
Why don’t I see heartbeat messages in the Finsemble’s log?
- Internal heartbeat messages tend to be frequent, so they clutter up logging
and make debugging difficult. Therefore, the Logger Client will filter out
(i.e., not send to Central Logger) any log messages with the substring
I'm having workspace switching problems. How can I troubleshoot this?
- If you're encountering workspace switching problems, set the
Central Logger to "Default" and filter
APPLICATION LIFECYCLE. This will surface messages tracking the workspace
switching process. Export the log, as specified in the Central Logger
tutorial, and email it to us for evaluation.
My preload isn't working. Why?
A common problem with preloads occurs when a 404 error is returned from the
server hosting the preload file. In this instance, Chromium tries to process
in the page rendering, it shows up as a console error: "Unexpected end of
input on [filename] preload."
It's possible your preload asset is hosted at a bad path. Try loading the
preload directly in a browser. This might also be a problem with your
security permissions. Make
sure you have specified the preload as trusted.
If you haven’t yet found the answer for your question please feel free to
email us. We'd be happy to help