The OpenSPP Custom Fields UI module provides a user-friendly interface for program implementers to define and manage custom data fields for registrants within the OpenSPP platform. This allows for tailoring data collection to the unique requirements of various social protection programs and farmer registries.
This module empowers OpenSPP implementers to extend the platform's data capabilities without requiring technical development. Its primary purposes include:
- Tailoring Data Collection: Enables the creation of specific data points for registrants that go beyond the standard OpenSPP fields, supporting diverse program needs.
- User-Friendly Configuration: Provides an intuitive interface to define and manage custom fields, making it accessible to non-technical users.
- Flexible Registrant Profiling: Allows custom data to be associated with either individual registrants or entire groups, enhancing the detail and relevance of registrant profiles.
- Program-Specific Indicators: Supports the definition of fields for tracking unique program indicators, such as specific beneficiary attributes or eligibility criteria.
- Calculated Data Points: Offers the ability to create fields that automatically calculate values, like counts of specific membership types within a group.
The spp_custom_fields_ui module integrates with core OpenSPP
components to extend their functionality:
- Base (``base``): As a fundamental Odoo module,
baseprovides the underlying data model and user interface framework upon which all OpenSPP modules are built, ensuring standard system operations. - G2P Registry Base (``g2p_registry_base``): This module extends
the core registrant model,
res.partner, to manage foundational registrant data.spp_custom_fields_uiutilizes this base to add custom fields directly to these established individual and group registrant profiles. - G2P Registry Membership (``g2p_registry_membership``): This
module defines and manages different types of relationships or roles
individuals can have within groups (e.g., Head of Household, Member).
spp_custom_fields_uileverages this by allowing custom fields to be specifically associated with or filtered by these membership kinds, enabling highly targeted data collection.
The module introduces several key features for defining and managing custom fields:
Users can define the core characteristics of each custom field. This includes specifying a clear Field Draft Name for easy identification, and determining the Target Type to indicate if the field applies to "Group" or "Individual" registrants. The Field Category allows distinguishing between "Custom" fields for direct data entry and "Calculated" fields for automatically derived values.
A powerful feature allows custom fields to be linked to specific Kinds of group membership, as defined in the G2P Registry Membership module. For instance, a custom field might only appear or be relevant for registrants designated as a "Head of Household," enabling highly contextual data collection within groups.
The module supports creating fields to track Presence, which defines a boolean (yes/no) custom field to indicate if a registrant meets a specific condition or possesses an attribute. For "Calculated" fields, the system can automatically generate a field to count occurrences based on specified membership kinds, providing aggregate data without manual calculation.
To ensure data consistency and simplify management, the module automatically generates the technical field name based on the defined properties like category, target type, and draft name. Additionally, for "Presence" fields, it automatically assigns a boolean data type, and for other "Calculated" fields, it defaults to an integer type to support counting.
The OpenSPP Custom Fields UI module is essential for program implementers, providing the flexibility to extend and tailor OpenSPP's data collection capabilities to meet the specific and evolving needs of diverse social protection programs.
Table of contents
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
- OpenSPP.org
Current maintainers:
This module is part of the OpenSPP/openspp-modules project on GitHub.
You are welcome to contribute.




