Module and Code File Locations When a new domain is established within the AdvantageCSP framework, the system automatically generates a recommended directory structure, along with default controls and templates. This feature is designed to provide developers with an initial working model, enabling them to begin their projects with a standardized set of components and a common methodology. Such an approach is particularly beneficial when developers are juggling multiple projects, as it ensures consistency and efficiency across different development efforts. Below, we break down the key components of this initial setup: Top Level (Site) The top-level directory, often referred to as the "site" directory, serves as the root for the project's file structure. This is where the overarching organization of the site's resources begins, and it typically contains subdirectories for various types of files, such as compiled class files, user controls, pages, and more. By starting with a well-defined top-level structure, developers can easily navigate and manage their projects. Compiled Class Files Within the generated structure, a dedicated location for compiled class files is established. These files, typically with the .dll extension in the context of .NET projects, contain the compiled code of the project's custom classes and components. Storing these files in a specific directory helps in maintaining a clean project structure, facilitating the deployment and update processes, as well as ensuring that the compiled logic of the application is neatly organized and easily accessible. User Controls and Pages Another crucial part of the initial setup is the directories for user controls and pages. User controls (.ascx files) are reusable parts of the user interface that can be included in multiple web pages (.aspx files). By having designated folders for these components, the framework encourages modularity and reusability. This organization allows developers to efficiently manage and update the UI components and pages of the application, as each piece can be developed, tested, and maintained independently. This setup process, triggered automatically upon the creation of a new domain in AdvantageCSP, lays the foundation for a well-organized and scalable project. It ensures that developers have a common starting point, regardless of the specific requirements of their project, promoting best practices and consistency across development teams. By adhering to this structured approach, developers can streamline their workflow, reduce development time, and increase the maintainability of their projects. Adding an Advantage CSP Control to Your Website Project To include a new AdvantageCSP control to your website, you should: Access the Add New Item Dialog: In your IDE, open the 'Add New Item' dialog box. This is typically done within the Solution Explorer by selecting the appropriate folder where you want the new control to reside, right-clicking, and choosing 'Add New Item' from the context menu. Select from AdvantageCSP Components: Within the 'Add New Item - Sample' dialog, a list of available items is displayed on the left-hand side. This list shows various pre-defined AdvantageCSP components, such as: Advantage ActionItem Control Advantage BusinessObject Advantage Module Advantage Rewrite Module Advantage SiteSettings BusinessObject Advantage SiteSettings Tool Advantage Tool These components represent different functionalities and objects you can add to your project. For instance, the 'Advantage BusinessObject' could be a data model, whereas the 'Advantage Module' could be a self-contained functional block of the website. Choose the Specific Control: Decide which control you need for your current task. For example, if you want to create custom interactions within the admin section of your site, you might select 'Advantage ActionItem Control,' as suggested by the description in the right-hand pane. Configure Control Properties: At the bottom of the dialog box, you can specify the name of the new item. For instance, the screenshot shows the name 'ActionItem.ascx' for a user control. You also have the option to 'Place code in separate file' or 'Select master page,' which are important depending on whether you want to keep code-behind files separate and if the control should be associated with a master page. Add the Control: Once you have selected the desired control and configured its properties, click the 'Add' button to add it to your project. The new file will be created in the selected folder within the Solution Explorer, and you can then begin implementing and customizing the control as per your project requirements. This process helps maintain an organized and efficient workflow, especially useful when managing complex websites or applications with many components. By using such a systematic approach, developers can ensure consistency across their projects and streamline their development processes.