 Welcome to the FACE CTS Learning Series, Chapter 3, The CTS User Interface, Video 2, CTS Graphical User Interface Overview. In this video, we will introduce the CTS's testing methodology, the theory of toolchain and project configuration files, demonstrate the importation of existing toolchain and project configuration files, and explain the UOC testing workflow within the CTS. In Chapter 1, we introduced project and toolchain configuration files, or PCFGs and TCFGs, respectively. A toolchain configuration file allows the user to define a target environment for a UOC to be tested against. The contents of a toolchain configuration file are configuration options for the CTS to interpret the user's target environment. The contents of a project configuration file are configuration options for the CTS to interpret the user's UOC-specific options. The project configuration file relies on a valid toolchain configuration file. If the target environment is not valid, then the UOC-specific options cannot be tested. A valid toolchain is required to be included when creating a project configuration file. Thus, the UOC testing workflow starts at defining a valid toolchain configuration, then defining a valid project configuration, and then testing the UOC for face conformance, which produces a face conformance test report. This workflow, and graphical user interface, is identical in CentOS 7 and Windows 10. For the purpose of this and all subsequent videos, we will be demonstrating the CTS on CentOS 7. All steps may be replicated on Windows 10, unless otherwise noted. When the CTS is launched, the home screen is shown with the title reflecting the version of the face technical standard it supports. The home screen allows for quick access to recently opened projects on the left. Since this is our first time launching the CTS, we do not have any recent projects to show. When we open a project configuration file, this list will populate with a history of projects that have been opened. On the right, a list of quick start options is included for our convenience. From here, we can directly run a conformance test, start a new project and toolchain configuration, access the preferences menu, and access the CTS's documentation. On the top right, the home button allows the user to return to this interface when clicked. Finally, the home screen allows the user to select the File, Run, and Help menu in the navigation bar. The navigation bar is able to be used throughout the CTS. The File menu allows us to select projects and toolchains as well as access the preference menu and terminate the CTS. The Run menu allows us to select Run Conformance Test, which brings us to the Run Conformance Test interface of the CTS. To use this interface, we must have a valid toolchain and project configuration file. The Help menu contains an option for showing more information about the CTS. Let's first look at the toolchain file list by selecting File, Toolchains. The CTS has the ability to store multiple separate toolchain configuration files, and the toolchain files list is where they would be shown. Because we started the CTS for the first time, the toolchain files list is empty. The toolchain files list has a number of options at the top of the interface, including the ability to create a new toolchain, import an existing toolchain, open an existing toolchain from the list, clone an existing toolchain from the list, and remove a toolchain from the list. The toolchain files directory is where toolchains are stored and read by the CTS. This is distinctly different from where the toolchains are initially read from your file system. When a toolchain is imported, the CTS reads the toolchain and saves a copy in the aforementioned toolchain files directory. This is important to note, especially if changes are made to the originally read toolchain configuration file in, say, a text editor. Because the CTS has made a copy of the original file, those changes will not be reflected in the CTS. The importation of a project configuration file, as we will see, abides by the same principle. Let's explore further by creating a new toolchain configuration file by clicking on New. This brings us to the toolchain configuration builder. The toolchain configuration builder is where the user defines all required options to make a valid toolchain configuration file. Each of these options are broken up into multiple subsections. General, File Extensions, Tools, Compiler Specific, and Notes. Each of the options in each of the subsections will be detailed in later videos in this chapter. For now, it is important to know the toolchain configuration builder is where the user defines the options for the toolchain. We are not going to save this toolchain configuration file, but we could by selecting Save As and entering a valid toolchain file name. Instead, we will select the Back button. Similarly, it is possible to import a toolchain configuration file by selecting Import and providing the path to the toolchain configuration file. The toolchain configuration file builder will be automatically loaded with the options contained in the provided file. By selecting the Home icon, we return to the Home screen. Next, select File, Projects to bring us to the Project Files list. The CTS can store multiple separate project configuration files, and the Project Files list is where they would be shown. Because we started the CTS for the first time, the Project Files list is empty. The Project Files list contains information for creating a new project configuration file and importation of existing project configuration files. When a project configuration file is loaded in the project configuration file list, clicking on the project configuration file will enable the Open, Remove, Clone, and Test Project buttons. The Open button opens the project configuration builder, similar to toolchain files. The Remove button removes the project from the project configuration list. The Clone button creates a copy of the project configuration file. The Test Project button forgoes the project configuration builder and immediately directs the user to the Run Conformance Test interface. The project configuration is automatically tested using the options selected in the project configuration file. Let's make a new project configuration file by clicking on the New button. Let's name our project the default untitled project.pcfg and save it in the default location. In my case, it's Home, CTS User, CTS Projects. You may save it in a different location if desired, but we will save it in a default location. Similar to the toolchain configuration builder, the project configuration builder contains several subsections for defining UOC-specific options, including General, Data Model, Gold Standard Libraries, Objects Libraries, Notes, and Project Info. Detailed information about each of these configuration options in each of the subsections will be covered in subsequent videos. For now, it is important to note a few key buttons at the top of the project configuration builder. The Save button saves the project when there is a change to the project configuration options. The Save As button allows the user to specify the name and location of the project configuration file to be saved. On the right, the green arrow is the Test UOC Conformance button. This button will initiate the CTS's test for UOC conformance after the project and toolchain configuration files are deemed valid. The button to the right of the arrow is the Test Data Model Conformance button. This button only initiates the Data Model Conformance testing that the CTS provides. It should be noted that the Test UOC Conformance button also tests the Data Model, as it is a step for testing for UOC conformance. The buttons that were not explained will be explained in detail in subsequent videos. Pressing on the Back button returns us to the Project Files list. Our newly created project configuration file is now shown with the file's name, UOC Segment Type, language the UOC is targeting, face profile that the UOC is targeting, the last modified date, and any notes we added in the project configuration builder. When we left-click on it, the Open, Remove, Clone, and Test Project buttons are now interactable. Either clicking on the Open button or double-clicking on the project configuration file will reopen the project configuration builder. Similarly, it is possible to import a project configuration file by selecting Import and providing the path to the project configuration file. The project configuration file builder will be automatically loaded with the options contained in the provided file. Thank you for watching. This concludes the overview of the CTS workflow and introduction to the CTS GUI. In the next video, entitled Toolchain Configuration, we will explain the options contained in the Toolchain Configuration Builder in detail.