Overview
Modules can range from distinct units handling specific tasks to broader collections of related features or tools aimed at delivering a comprehensive solution. They are designed to compartmentalize and organize the software's functionalities, allowing for better management, ease of modification, and improved overall performance.
Types of Modules​
The modules in an application are grouped into the following types:
System Modules - System modules are built-in or pre-defined sets of modules constituting the application. They serve the fundamental functionalities that manage the core operations of the application.
Custom Modules - Custom modules are designed and developed by users or developers to cater to unique and varying needs. They encapsulate customer-specific features and functionalities that are not provided by standard or system modules.
The custom modules will help you get the most out of an application, so let's have a look at what they actually are, when you might want to use them, and how to create them.
What is a Custom Module​
Custom modules are created to meet out of the box customer requirements. Imagine a custom module as a type of tool or machine specifically designed for a unique purpose. It's like a gadget you create to do a specific job that might not be possible with off-the-shelf tools. For instance, think of a cabinet in an educational office that has registers for tracking student attendance, performance, and course schedules. Let us assume you are adding a new register to the cabinet for recording the student details. Here the cabinet is your application, the existing registers are the system modules, and the new register is your custom module perfectly taylored specific to your requirement. In a similar way, in the digital world or software development, a custom module is a specially designed data structure created to store specific types of information unique to your needs. Ultimately, modules are containers for your information, and custom modules are the containers you build yourself to suit your specific business needs.
When exploring custom modules, it's crucial to understand their components—records, fields, and forms. Drawing from the illustration, each page representing student information is a record, and the captured details like name, date of birth, and address form the fields. The visual representation of these fields on a page can be called the form or template. This breakdown helps organize and understand the structural components of a custom module, enhancing its effectiveness within the system.
Custom Modules in Facilio​
Facilio offers a diverse range of modules, showcasing its standout feature—complete customizability. The main objective of Facilio is to provide its users with a no-code environment and out of box settings to customize a feature as per their choices to meet the varying and evolving requirements. For example, users can incorporate multiple purpose-specific forms (templates) and tailor the display of fields, button placement, and more within each module. Ultimately, more than utilizing the existing features you can actually build Facilio to fit your needs.
The Modules section within the administrator settings governs the customization aspect of the application. It allows you to create new modules, make changes to the existing ones, create new forms in association with modules, create custom fields and buttons for use during the creation or modification of any form linked to these modules, and more.
When to Create Custom Modules​
Custom modules are objects you create to address the specific needs of an industry or organization. These modules come into play when customer expectations cannot be met by the existing system modules. Let us consider a requirement where the customer is looking for a maintenance management solution that ensures compliance with safety guidelines. While Facilio already offers an efficient maintenance management solution, it doesn't include features to enforce safety guidelines by default since these requirements tend to be location-specific. In such cases, we can create a custom module, like SWMS (Safe Work Method Statements), which can be integrated with the existing Maintenance module to ensure compliance with safety guidelines for executing high-risk maintenance activities. Read the Creating a Module section to understand how to create a custom module in Facilio.