APS Modular Structure
The APS solution is designed as a modular platform where the common foundation is completed by specific functional components.
Directory Organization
The source code is organized to reflect this modularity:
1. The Foundation (Kernel)
The Kernel directory contains the technical foundations of the application. It is the lowest level component on which all others depend. It handles:
- System configuration.
- Data infrastructure.
- Security and logging.
- Dependency injection (via specific patterns for Framework 4.8).
2. Platform Components
Located at the root, these directories correspond to the functional pillars of APS:
Formulars: Electronic forms management.Workflow: Process engine and document lifecycle.Directory: Directory management (users, groups, roles).Navigators&Views: Navigation interface and data list definition.Search: Indexing and search engine.
3. Extension Modules
The Modules directory contains additional software components that can be enabled or disabled as needed:
- Office / SharePoint: Integration with the Microsoft suite.
- PdfTools / Scan: PDF document manipulation and scanning.
- Antivirus: File flow security.
Inter-Module Communication
Communication between these different modules relies on:
- Project references (ProjectReferences): Defined in
.csprojfiles, ensuring strict dependency hierarchy. - Interfaces: Components often expose their functionalities through interfaces to limit coupling.
- A Plugin system: Certain components (like the search engine or scripts) allow custom code injection to extend standard behavior without modifying the core.