-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Instead of creating separate sub-modules for each boundary data source (like ONS Wards, ONS Parishes, etc.), you create one flexible plugin that can be configured through the admin interface to work with any boundary data source.
How it could work:
- Replace all the specific sub-modules with a single "configurable" plugin
- Add configuration fields to the existing Boundary Source admin form
- Users configure API endpoints, data mappings, and processing rules through the UI
- The generic plugin reads these settings and fetches/processes data accordingly
Benefits:
- No more coding required for new boundary sources
- Admin users can set up new providers without developer involvement
- Easier to maintain - one plugin instead of multiple sub-modules
1: Add Configuration Fields
- Extend the existing Boundary Source configuration form
- Add fields for:
- API web address (URL)
- Authentication details (API keys, etc.)
- How to map data fields (which field contains the boundary name, which contains the geographic data, etc.)
- Any special processing rules needed
2: Create the Generic Plugin
- Build a single boundary provider plugin that:
- Reads the configuration from Phase 1
- Makes web requests to the configured API
- Processes the response using the field mappings
- Creates the boundary areas automatically
3: Add Helpful Features
- Create templates for common data sources (so users don't start from scratch)
- Add validation to check configurations work properly
- Include preview functionality to test settings before saving
- Allow importing/exporting configurations between sites
End Result:
Instead of needing a developer to create a new sub-module (eg #150) every time you want to add a boundary source, an admin user can simply fill out a form in the Drupal interface to configure a new provider.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request