You can find the bundle repository and handbook here: https://artifacts.informationgrid.com/releases/Galibier/index.html. You’ll need credentials for this. If you don’t have these, please request them by emailing firstname.lastname@example.org .
Important notice: this Galibier release contains breaking changes in the web components. Please be aware of this and test before you update. Also notice that the previous release (Finestre) also contains breaking changes. Check the Finestre release notes here.
Besides a lot of smaller fixes the following major changes have been implemented in InformationGrid Galibier:
InformationGrid Galibier comes with support for binary properties out of the box. With adding a binary constraint to a resource property of type string you can indicate the property will be storing a reference to a binary object. Blobs are stored in an IG blob store which is backed by either Amazon S3 store or in Azure Blob Storage. For testing there’s a grid-fs binding which stores the blobs in the mongo database.
For a blob store custom metadata can be configured by defining a schema for the blob metadata.
Properties with binary constraints are automatically handled by the forms component which will present an upload widget or a small detail when displaying the form.
Blob usage is being tracked automatically ensuring blobs are automatically being removed when there are no more resources referencing it. It goes without saying that blobs referenced from a journal will never be removed, unless the journal is truncated. When using custom metadata this metadata is automatically being indexed in a search index and a search service is provided to perform a search based on the metadata properties.
With InformationGrid Galibier it’s finally possible to define resource transformations in the IG workbench. Resource transformations can be defined to describe the rules that must be applied to transform a resource from one version to the next. When viewing a schema you immediately see what transformers have been defined for it.
There’s a special editor for editing the transformers, this editor features a preview that immediately lets you see the outcome of the transformation based on input data you can provide yourself.
We’ve made it easier to finalise draft resource types by providing a context menu on a folder allowing you to finalise all resource types in that folder in one go.
Both the graph schema repository and the in-memory schema repository have been superseded by a new schema repository implemented on top of the Mongo database. This simplifies the minimum infrastructure needed to run InformationGrid and also improves schema repository performance.
This new schema repository will help projects in detecting schema changes during their development process. As schemas will now always be persisted (as there’s no more in-memory schema repository) IG will always compare the new schema version to be stored with the existing version. If there’s a mismatch IG will complain, allowing you to implement the correct version bumps and transformers.
Note: for development purposes the schema repository can automatically be wiped on system startup by setting the
com.informationgrid.schema.developmentmode environment variable to
true. This only applies to projects using the IG libraries and does not apply to PaaS users.
We’ve been testing InformationGrid with Java 11 and the results look good. As there were quite some changes required under the hood this will need extensive testing to make final. Upon request we can provide you with a beta IG Galibier build that works with Java 11 so you can check whether your application is already up for it.
Hyperlinks have been added to easily navigate between configurations and schemas or other configurations.
On the Configurations page, in the case where a configuration is correct and valid, but the service that should result from that configuration is not available for some other reason, a yellow warning icon will now be displayed. If you point at this icon, a tooltip will show any missing dependencies which could be the cause of this situation. For example, if you have a correctly configured document collection, but the schema used has an invalid resource transformer, then the document service for the collection cannot be started, and a yellow icon will be displayed against its configuration.
The workbench now features a management console providing you access to the most relevant flight controls that are also available in the CloudRTi dashboard and give you instant insight in which event consumers are running and provides statistics on the event consumer performance. This is provided to support the projection and event processor development in the IG workbench.
The web components as delivered by InformationGrid (e.g. forms, (searchable) resource master, resource detail) are updated. Some breaking changes had to be made:
Including the web components
instead of including the components like this:
<script src="/ig/iguicomponents/iguicomponents.js"></script> // old, deprecated way
this is the new way of including the components:
<script type="module" src="ig/iguicomponents/iguicomponents/iguicomponents.esm.js"></script> <script nomodule="" src=ig/iguicomponents/iguicomponents/iguicomponents.js"></script>
Usage of public methods on the components
All public methods are now async and return a promise, so if you use those public methods make sure to update the code accordingly. Example:
// old way let data = formCmp.getData(); doSomethingWithData(data); // new way formCmp.getData().then(data => doSomethingWithData(data));
The API of the EventSourcingIndexerConfiguration has changed where the typing has been moved from the configuration to the configuration builder.
Yes this might sound trivial, but it’s a change that might have you run into surprises. Previously the journal was very lenient with respect to event payload contents when storing an event. From this release the journal validates the resource prior to storing the event. This means a journal append can result in a resource validation exception.
If you have any questions regarding InformationGrid then please send an email to email@example.com or call +31 (0)88 – 5864 630.