irAuthor was built with the goal of being much more configurable by end users than previous versions of the product. This was achieved by making a more modular product that can optionally load the different pieces of functionality that are shipped with InRule. Custom functionality can also be created by the end user in the form of extensions which can be loaded into irAuthor alongside or in place of system extensions that ship with InRule. With extensions, irAuthor can be modified to look and work how you want.
Extensions can be created by any developer that has irSDK installed on their machine. An extension is simply a .NET solution that references InRule assemblies, allowing developers to write code against the new authoring framework and its underlying services. These services provide the developer with simplified access to accomplish most authoring related goals.
The authoring framework is comprised of a set of .NET assemblies that provide the functionality in irAuthor. System extensions that provide the out of the box functionality in irAuthor are built with the framework, which is public so it can be used by non-InRule developers as well. Modifications could include adding, removing or modifying functionality and user interface components.
Extension examples to customize irAuthor could include:
Override default editors in irAuthor
- Create a custom version of the Set Value control to allow users to select from a dropdown list of domain specific values
Automate processes inside of irAuthor
- Launch irVerify in the context of a certain entity with a given test file without having to navigate away from the currently selected element
- Create rule elements with a defined pattern to simplify the creation of similar entities or rule set
- Add pre-defined attributes to a rule element by toggling a button in the ribbon as opposed to have to type them in
Create custom views based on a user or role
- Add/Remove Navigation Bar items
- Add/Remove buttons from the Ribbon
- Create new windows in irAuthor to capture additional information
The following topics and examples explain how to create custom irAuthor extensions