Initializing help system before first use

Migrating from Companion File 2.0 and Using Mosel Annotations

Mosel annotations are now used to configure the model and entities, as opposed to the previous way of using both the Mosel file and the companion file.

Global annotations are those that apply to the whole model, and they are placed before any of the entity declarations but after any import statements. Where the companion file previously had <resultsdata delete="on-execute"/>, this option is now a global Mosel annotation, insight.resultdata.delete. This can be set to any of the values on-change/on-queue/on-execute.

A new addition to the configuration options are execution modes. The namespaced annotations insight.execmodes.[execmodeName] allow the developer to add descriptions and other options, which are fully shown in the Xpress Insight Mosel Reference.

There are several entity specific annotations that allow for customization of entities within the model. These replace the <entity> tag in the companion file including its attributes and child tags. These are placed in the Mosel file, right above the entity declaration, or a declarations block. Examples of how these are used as annotations within the Mosel are as follows:
!@insight.alias Days 
!@insight.hidden true
!@insight.readonly true
There are various other annotations that can be applied to an entity, such as for sorting, formatting and transformations. For a full list of these options and the syntax, please refer to the Xpress Insight Mosel Language Reference Manual.
Note You must use a version 3.0 companion file for Xpress Insight to recognize insight annotations within your model.
Note Existing applications which use version 2.0 of the companion file are unaffected by this change and will continue to work as before.

mminsight Annotations in Separate BIM File

mminsight annotations have been moved to a separate BIM file mminsightannotations.bim, which is itself referenced as a dependency of mminsight.bim.

This enables you include mminsight annotations in packages that may be executed in environments where insight itself is not available.

Prior to this change, the common pattern was to use code such as:
package mypackage
  uses 'mminsight'

  !@insight.manage ignore
  public declarations
    MY_CONSTANT=5
  end-declarations
... to prevent the public variables exported by your package from appearing in the insight schema for a model that uses this package.

However, the problem is that by having uses mminsight, a dependency is created on mminsight.dso which means a model that uses this package can ONLY be run in an environment that has insight installed. For example, this package could not be used in a model that's run in Xpress Executor, because there is no mminsight.dso available within Xpress Executor.

By moving the annotations into a separate package mminsightannotations that doesn't directly reference mminsight.dso, this problem is circumvented and you can now do something like:
package mypackage
  uses 'mminsightannotations'

  !@insight.manage ignore
  public declarations
    MY_CONSTANT=5
  end-declarations
The previous way of doing things still works, as mminsight references mminsightannotations.

© 2001-2020 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.