Component Folders

Cúram web client applications are organized into collections of artifacts called components. Each component has its own folder below the <client-dir>/components folder. The core component is always present. This contains all of the artifacts needed for the core functionality of the Cúram reference application. The name of the component folder is used as the name of the component.

A component does not necessarily define a discrete part of an application; rather it defines an additional customization layer of an application. By adding new components, it is possible to selectively replace pages in the core application, add new pages, change the appearance of the application and alter various settings. It should never be necessary to edit files within the core application, thereby ensuring that when the core application is upgraded, the core changes do not overwrite your custom changes.

Within a component, you can use an arbitrary folder structure to allow you to organize your artifacts as you see fit. Artifacts in a component must have unique file names and the folder structure does not affect this. For example, you cannot place two UIM files with the same name within the same component, even though they would be in different folders. Likewise, a UIM file in one component is considered equivalent to a UIM file in another component, even if the folders within the components containing these UIM files have different names. Technically, a component represents a single namespace for artifacts and the folder structures within the components are mostly ignored.

The only exception to the requirement to use unique file names for artifacts is within the optional WebContent folder within a component. Within this folder, you can place arbitrary files in an arbitrary folder structure that you want to deploy with your application. The files will be copied to the main <client-dir>/WebContent folder during the build process and the folder structure will be preserved, so files in different folders may share the same name.