Notice that at this point there are no contents in any of the four tabs. Opus uses XML-based configuration files to flexibly specify the various aspects of a project. In addition, the appearance of the different tabs is also driven from the XML configuration files, so that different parts of the underlying functionality can be dynamically enabled and displayed, or hidden. XML stands for eXtensible Markup Language, and is a generalization of the HTML markup language used to display web pages. It is more flexible, and has become widely used to store content in a structured form.
Let's add add content to the GUI by loading a Project, which is in fact, just an XML file containing configuration information. From the main menu, load a project from eugene_gridcell.xml, which is in the default location of opus/project_configs. The Opus window should now appear as in Figure 3.3.
One important property of XML project configurations is that they can inherit from other project configurations. In practical terms for a user, this means that you can use default projects as templates, or parents, for another project you want to create that is mostly the same as an existing project, but has some changes from it. The new project is called a child project. By default, it inherits all the information contained in the parent project. However, it can override any information inherited from the parent, and add additional information.
Users should create their own projects in the opus/project_configs directory. This will allow them to keep projects localized in one place, and to avoid editing and possibly corrupting one of the projects that are in an Opus package in the source code tree.
In fact, the eugene_gridcell.xml configuration that we just opened (in the default location of opus/project_configs) initially contains almost no information of its own -- virtually everything is inherited from a parent configuration. As you edit and augment this configuration, more information will be stored in the configuration. It can be saved to disk at any time using the ``Save'' or ``Save as ...'' commands on the ``File'' menu.
There is more information on XML-based project configurations later in this part in Chapter 11, but the above information should be enough to get started!