[os-upnp] Migrate legacy static PHP pages to MVC/API framework
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 1.2k
- Forks
- 863
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 10
Description
Important notices
- I have read the contributing guidelines at https://github.com/opnsense/plugins/blob/master/CONTRIBUTING.md
- I have searched the existing issues, open and closed, and I'm convinced that mine is new.
- The title contains the plugin to which this issue belongs
Is your feature request related to a problem? Please describe.
os-upnp is still using the older static PHP pages (services_upnp.php and status_upnp.php) for its settings and Active Maps UI.
This came up in the recent UPnP forum discussion, where Franco mentioned that the plugin is mostly in community-support mode and is still based on the older static PHP framework. It seems like moving it to the current MVC/API framework would make it a lot easier to maintain going forward.
Describe the solution you'd like
I'd like to look at migrating os-upnp to the current OPNsense MVC/API framework while keeping the existing behavior and configuration working as-is.
I'd definitely aim for feature parity first rather than trying to redesign the plugin or add a bunch of new functionality at the same time.
It seems like the main pieces would probably be:
- configuration model/API
- settings UI
- Active Maps/status UI
- service actions
- migration/compatibility for existing
installedpackages/miniupnpdconfiguration
I'm happy to help with the work. I'd mostly want some guidance on the preferred direction before getting too far into it, especially around configuration migration and whether it makes more sense to do this incrementally or as one larger migration.
Describe alternatives you've considered
The obvious alternative is to just keep maintaining the existing PHP pages.
That works for now, but it seems like it would leave the plugin increasingly out of step with the rest of OPNsense and make future maintenance harder than it needs to be.
Additional context
This came out of the recent UPnP discussion here:
https://forum.opnsense.org/index.php?topic=52419.30
Franco mentioned that this would probably be a longer-term effort, but that help would be welcome as long as he can provide some guidance.
I'm happy to pitch in if this is something worth moving forward with.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading services_upnp.php and status_upnp.php, along with the repository CONTRIBUTING.md, to map the existing settings and Active Maps behavior. Then compare the plugin with current OPNsense MVC/API implementations and clarify the migration boundary with maintainers. Done means feature parity, working service actions, and compatibility with existing installedpackages/miniupnpd configuration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- backend-api-design, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100