FAQ

  • Why do I get an "Unknown object" error when compiling my rules?
    This is a common mistake and this answer applies to use of all libraries. Although the library is in the application it may have the wrong scope. That is, perhaps the library has been included in the context of a Ruleset such as a Decision Table or Script, making it inaccessible from from other Rulesets.

    If this is the case then move the library from the table or script context and add it to the folder or rules project context.

    Contexts may be locally scoped (by default they have global scope), so definitions such as objects and libraries that are contained in a locally scoped context can only be "seen" by Rulesets at or below the level of that context. Rulesets above or at the same level will not be able to access the definitions.

    For example:

    RulesProject
    --+ Context
    ------ MathLib
    --+ DecisionTable
    ------+ Context
    ---------- DateTimeLib
    --+ Script
    ------+ Context
    ----------- ...
            

    In the above example, assuming the Decision Table is locally scoped, the Decision Table and the Script could access the functions in the Math library, however only the Decision Table will have access to the functions in the DateTime library.

  • Why are there so many Contexts associated with a Rules Project?
    Contexts allow you to control the scope of the definitions used by elements within a rules project. Each major element (Rules project, folders and rulesets) has a Context. Definitions contained within a Context will be firstly accessed by the element owning the Context and all elements that are children of the element owning the Context. For example, all rulesets contained within a Folder will first access definitions contained in their own Context, the Context of the Folders containing the Ruleset and the Context of the Rules Project containing the Folder. They can only access the definitions contained in the Context of other Rulesets or other Fodlers if they have Global scope.
    Note: Common Knowledge Designer Version 3.0 introduced a mechanism for hiding empty context elements within the Workspace view. Simply click on the View Empty button to hide empty context elements.
  • What is the best way to view a Decision Table that has many rules but only a few conditions and actions?
    The decision table editor allows you to view decision tables in a horizontal or vertical orientation. For decision tables that have many rules but only a few conditions and actions, it is better to view the decision table in a vertical orientation where the rules are displayed vertically down the left hand side of the table. This allows the available screen space to be more optimally used and makes editing and viewing the decision table much easier. 
  • How can I evaluate my rules within Common Knowledge Designer and have it prompt me for the required input values?
    Rules can be evaluated from within Common Knowledge Designer by selecting the item that you want to evaluate and pressing the F9 key. Alternatively, you can right click on the item and select the Execute menu item. To have Common Knowledge Designer prompt you for the values of the objects used by your rules, ensure that when defining those objects in the Context editor, you select the Enabled checkbox in the Prompting section. You can also specify a Prompt to be used when Common Knowledge Designer requires a value for the object.
    Note: You can directly execute a Folder or a Ruleset. Executing a Folder will cause the first Ruleset in the Folder to be executed. You can reorder the Rulesets contained in a Folder from within Common Knowledge Designer if required.
  • Can I encrypt my Common Knowledge Designer files so they are secure?
    Yes! Select the Save Options... button on the Rules Project properties dialog and check the Encryption check box. You will need to enter a password and a confirmation of that password. When your Rules Project is saved, it will be encrypted using the Blowfish Encryption algorithm. When you load your Rules Project again in Common Knowledge Designer, you will be prompted for the password. 
  • Can I manually edit the Common Knowledge XML (.aex) files using a text editor?
    Common Knowledge AEX files are text files containing your business rules definitions using XML (eXtensible Markup Language). These files can be edited manually using a text editor; however, it is not recommended, and Object Connections will only provide support for Rules Projects that have been edited manually if they can be successfully opened by Common Knowledge Designer.
  • Can I get Common Knowledge Designer to only ask once for the value of an object when I am evaluating my rules from within Common Knowledge Designer?
    Yes you can. Select the Tools|Designer Options... option from the main menu and select the Once Only checkbox in the prompting section of the Preferences tab, then press OK.
  • How can I more clearly display and edit a very large Decision Tree?
    The Decision Tree editor allows you to view your decision trees in two modes. These are the tree view and hierarchical view. The hierarchical view is a more compact way of editing large decision trees; however, the tree view gives a more structured view of your decision trees. You can also use the zoom-in option to make more of the tree visible in both tree view and hierarchical view.
  • How can I re-enable the tip-of-the-day dialog?
    From the menu bar select Tools|Options... Check the Show Tips at Startup checkbox in the Tip Of The Day section of the General tab, then press OK. Restart Common Knowledge Designer.
  • What is the difference between Parse and Compile?
    Parsing ensures that your business rules definitions are syntactically correct. Compiling ensures that your business rules are syntactically correct and that all references to identifiers can be resolved. Your business rules must be able to be compiled before they can be evaluated.
  • Do I have to Compile then Execute every time I want to evaluate my rules?
    No! You can just execute your rules. If your business rules have not been compiled then they will be automatically compiled before they are executed.
  • How can I get Common Knowledge Designer to reload the last Rules Project I was working with?
    Select the Tools|Options|General|SaveAndLoadOptions from the main menu and ensure the Save Editor Layout option is true. This will cause all open Rules Projects to be automatically reloaded next time Common Knowledge Designer is run.
  • How do I get Common Knowledge Designer to allow me to edit Identities?
    By default, identities are not shown on many properties dialogs as they are considered to be an advanced feature. To have identities displayed for all elements that have an identity, select the Tools|Options from the main menu and ensure the Show Identities option in the Expert Mode Options section of the General tab is checked. 
  • Why does my generated HTML documentation look like some graphics are missing?
    When Common Knowledge Designer was installed, a number of directories were set up containing HTML templates and graphics used for the generated documentation. If your generated documentation appears to have missing components, check that the correct directories have been specified by selecting the Tools|Options from the main menu then going to the Document Generation page. The Templates directory should be set to the <INSTALLDIR>Templates directory and the Images directory should be set to <INSTALLDIR>Templates\Images where <INSTALLDIR> is the directory that Common Knowledge Designer was installed into (eg. "C:\Program Files\Object Connections\Common Knowledge 4.0"). 
  • Can Common Knowledge be used with .NET applications?
    Yes! As of version 3.0, Common Knowledge includes a DotNET version of the rules engine API. As of version 4.0, support is provided for both 32bit and 64bit versions of .NET.
  • How can I access Context Objects and Definitions in another Rulesets context?
    Ensure the scope of the other Ruleset is Global or use a Context Path to "point" to the Ruleset containing the Context Objects you want to access.
  • How can I access (execute) a Ruleset in another Folder?
    Ensure the Folder has Gloabl scope or use a Context Path to "point" to the Folder containing the Ruleset you want to access.