Work with Only Client and Package Projects #6243
-
|
When creating an Oqtane module using the default module template, four projects are generated: Client, Server, Shared, and Package. In some scenarios, the module only consumes external APIs directly from the Client project and does not require any server-side processing, database access, or shared models. In such cases, the Server and Shared projects appear unnecessary. Can an Oqtane module function correctly with only the Client and Package projects? Are there any limitations, risks, or best-practice recommendations for adopting this simplified architecture? I would appreciate insights from anyone who has implemented a similar approach. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
|
@Sharafudeen the default module template is designed to work in every possible run-time scenario available in Oqtane (ie. Static Blazor, Blazor Server, Blazor WebAssembly, Blazor Hybrid) and demonstrate nearly every framework capability. If you are developing a module for a specific run-time scenario or with limited functionality then you can remove any of the aspects which are not applicable to that scenario. For example, if your module does not have any server-side functionality you can remove the Server and Shared projects. Or if your module is only intended to be used with Static Blazor and Blazor Server then you can remove the Services in the Client project and the Controllers in the Server project. Or if your module does not need import/export or search functionality, you can remove the interface implementations from the manager class. There are nearly unlimited variations which are possible. The following blog from 3 years ago attempts to clarify the fact that the default module template is intended to be a functional starting point for a module - but it can be heavily customized to meet your own specific needs: https://www.oqtane.org/blog/!/67/dapper-sql-scripts |
Beta Was this translation helpful? Give feedback.
@Sharafudeen the default module template is designed to work in every possible run-time scenario available in Oqtane (ie. Static Blazor, Blazor Server, Blazor WebAssembly, Blazor Hybrid) and demonstrate nearly every framework capability. If you are developing a module for a specific run-time scenario or with limited functionality then you can remove any of the aspects which are not applicable to that scenario.
For example, if your module does not have any server-side functionality you can remove the Server and Shared projects. Or if your module is only intended to be used with Static Blazor and Blazor Server then you can remove the Services in the Client project and the Controllers in the…