Domains

Domains are groups of classes that you use to solve problems in different ways

Classes and Domains

Each entity you create is assigned to an entity class (or just class.) Entity classes are a purely visual reminder of the “kind” of each entity: Flying Logic does not in any way restrict the kinds of connections an entity may have based on its class. That said, the methodology you choose or problem domain in which you work may place restrictions on what classes of entities may be connected. For instance, in Effects-Based Planning, Precondition and Action entities should always be drivers (have no incoming edges) while Intermediate Effect and Goal entities should always be driven (have at least one incoming edge.)

Working with Classes

To create entities with a chosen class, see Working With Entities.

To select all entities of a chosen class, Shift-double-click the class in the entity Domain Inspector. To change all selected entities to a chosen class, Alt-double-click (Windows or Linux) or Option-double-click (Mac) the class in the entity Domain Inspector. The last two tasks may be performed in sequence to change all entities of one class to another.

Classes are grouped into domains. Domains are used to contain the classes used for creating diagrams in a particular problem domain or using a particular methodology. Double-clicking a domain icon will collapse or expand that domain. Flying Logic has five built-in domains, which cannot be modified, and which are described in Thinking with Flying Logic:

  • General, which contains two classes, Generic and Note

  • Effects-Based Planning

  • Evidence-Based Analysis

  • Conflict Resolution

  • Prerequisite Tree

Creating Custom Classes

Although Flying Logic’s built-in classes are useful for many general purposes, in your field you may have particular classes you need to work with. Flying Logic allows you to create the domains and classes you need, and re-use them in the documents you create. Because the built-in domains and classes are not modifiable, before you can create any custom classes you must create at least one custom domain.

Creating A Custom Domain

  1. Type a name for the new domain and click the dialog’s close box.

Creating A Custom Class

  1. In the Domain Inspector, select one of the custom domains you have created in which you want the custom class to appear, or the existing custom class after which you want the new custom class to be added.

  2. Type a name for the new class, select a color for the class from the color chooser, and if desired select a default icon to appear on all entities of that class from the Icon Popup in the Edit Class dialog.

  3. Choose whether you want entities of this class to display the class name in a colored stripe at the top of the entity rectangle. If you turn off Show Name, entities of this class will appear with no class name and their entire background will take on the color of the class.

  4. If you will be enabling the project management feature, you may want to choose whether an entity based on this class is a milestone (zero effort) and how resources are assigned.

  5. Click the dialog’s close box. You can now use the new class in your diagram just as you use the built-in classes.

Changing Existing Domains and Classes

To delete a custom domain or class, select the domain or class to be deleted and click the delete button 🚫 at the bottom of the Domain Inspector.

You can also drag entity classes to re-arrange them within or between domains.

Exporting and Importing Domains

Frequently you will want to re-use the custom domains you create across many documents. Flying Logic supports exporting custom domains, as well as importing custom domains and the classes they contain.

To export a domain, select it in the Domain Inspector, then select the Entity ➡ Export Selected Domain command. The domain file will be saved in the location you specify.

To import a domain, select the Entity ➡ Import Domain command, and choose the domain file you wish to import. The category and its classes are added to your document.

You can also create a new, blank document with an exported domain already available by selecting the domain file in the dialog presented by the File ➡ Open command, or by double-clicking the domain file in your desktop environment.

You can only export or import an entire domain and all of its classes; you cannot export or import individual classes.

Resolving Conflicts When Importing

Each custom entity class carries a unique, hidden identifier that is created when the class is created, and that never changes even when the name or other attributes of the class changes. These identifiers are exported along with each custom class in the exported category. When a category is imported, a check is done to determine whether any of the identifiers of the classes being imported conflict with the identifiers of the classes already in the document. If any do, it is assumed that an updated version of the category is being imported, and the names and colors of the classes being imported override those already in the document. A notification is provided to you when this occurs, and if the results are not what you expect, you can use the Undo command to revert to the state of your document before the import.

Hiding Domains

Flying Logic documents often combine entities of classes across several domains. However, there are times you’d rather not see one or more built-in or custom domains in the Domain Inspector. You can hide such domains easily, and your choices of hidden domains are saved along with your document:

  • Uncheck the name of the domain to be hidden in the Domain ➡ Domain Visibility submenu, or...

  • In the Domain Inspector, right-click (Mac, Windows, Linux) or control-click (Mac) the domain and select the Hide Domain “Name” command from the popup menu.

To show a previously hidden domain:

  • Check the name of the domain to be shown in the Domain ➡ Domain Visibility submenu.

To save all currently visible domains (and all hidden domains) as the default for new documents:

  • Select Domain ➡ Save Domains as Defaults.

This command also gives you the option to restore the list of visible domains to the factory defaults.

Last updated