September 12-14, 2018 Raleigh, NC
Plugins - Extending your Informer Andrew Morovati Chief Solutions Architect
Overview Overview of Informer What plugins are. Why they matter. Some examples Installation Discussion
Informer Overview - the guts All Javascript - UI and back end NodeJS AngularJS Web server HAPI - plugin based Common configuration in one place Stateless
What are plugins? Extensions to Informer Written in Javascript Full access to persistence and UI
Why do plugins matter? While Informer is fantastic on its own, it gets even better with customizations. Plugins can: Streamline your business practices. Expose business data to new insights. Leverage existing security rules. Provide APIs for software integration.
Plugin Examples Look and feel User Domains Visualizations Data Export Row-level data security Flow-steps Datasources
Look and Feel Custom Logo Colors in the UI Fonts
Custom User Domains Authentication or Authorization Authentication: user provides a credential Simple Example Authorization: 3rd party verifies the user’s identity OAUTH - need a public server Supply Informer with user information. Can come from anywhere Optionally provide token-based direct login, bypassing the login form entirely
Visualizations Charts Bubble Chart Maps Seating Map
Data Export Specific format for scheduled job export (like FTP) Custom Format (example)
Row-level data security Attach filters to a dataset, that cannot be altered, depending on the user. All the data can be obtained in one query Any view of the dataset will be filtered Attach criteria to an ad-hoc query to limit row selection.
Flow steps Alter the stream of data from source to index Plugins can wrap up calculations and transformations into an easy-to-use flow step. Plugins can expose javascript libraries to calculations
Datasources Static external datasets or feeds Most can be staged into a workspace Proprietary datasources can be connected to Informer with at least an all or nothing retrieval scheme.
More examples Date parser/formatter: Turn 20180915 into 2018-09-15, and back. Permission restrictions: Remove menu items for certain classes of users (e.g. Workspace creation) Call external APIs when system events occur.
Installation Entrinsik’s plugins: npm install @entrinsik/{name-of- plugin} at the command line in the installation directory (or docker container) Your own plugin is placed in the “plugins” directory. All configuration for all plugins goes in “config.json” Informer then needs a restart.
QUESTIONS?