# System Notes - **Xconf Files**: Xconf files are XML-based configuration files used to define page settings and actions. They enable dynamic behavior by linking page requests to Java methods. These configurations can be inherited across directory structures, allowing parent settings to apply to child components. - **Velocity and $apphome**: Apache Velocity is used to render dynamic HTML content within the application. `$apphome` is a variable that generates links to the root of the application, facilitating consistent navigation across different pages. - **Plugin.xml Configuration**: The `plugin.xml` file defines beans using Spring-style configuration. It specifies dependencies and instantiates various components like modules, searchers, and managers for integration and functionality within the platform. - **Git Integration**: Git functionalities are managed within the application through components like `GitModule`, which handles repository operations such as mounting paths, permissions, and dynamic management actions via configured triggers in Xconf files. - **Fallback and Inheritance Mechanism**: The system employs a fallback and inheritance mechanism to resolve file paths and actions: - Accessing a URL like `/some/file/here.html` first checks the exact path. If not found, it checks `fallbackdirectory` defined in `_site.xconf` in the folder or any parent folder. - If no fallback is specified, `/WEB-INF/base/some/file/here.html` is checked. - The system recursively traces the fallback path specified in any `_site.xconf` files, allowing for customizable file versions without altering base files. - Page actions declared in `here.xconf` will also run if found anywhere in the fallback tree.